Javafx - Contenu du presse-papiers supprimé à la fin du programme


Je définis le contenu du presse-papiers via clipboard.setContent(content) qui fonctionne bien. Mais lorsque le programme se termine par System.exit(0) le contenu du presse-papiers est supprimé. Lorsque je termine le programme en cliquant sur la croix dans la barre de titre, le clippboard est toujours défini. Existe-t-il donc un moyen de mettre fin à mon programme qui ne supprime pas le presse-papiers comme le fait System.exit(0)?

Merci:)

Author: A_Di-Matteo, 2016-01-19

2 answers

Essayer le code suivant:

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;

public class Main {

    public static void main(String[] args) {
        StringSelection selection = new StringSelection("sample");
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        clipboard.setContents(selection, selection);
        System.exit(0);
    }

}

Le presse-papiers est correctement rempli même après la fin du programme et son appel System.exit(0).

Vous avez mentionné appeler un clipboard.setContent(content), mais la classe Clipboard ne fournit pas une telle méthode.

Je vérifierais votre code et le comparerais à celui ci-dessus. Vérifiez également pour appeler correctement la bonne méthode.


Mise à JOUR
La réponse précédente était basée sur l'hypothèse d'une application Awt/Swing. Toutefois, après vos dernières modifications à la question, il semble être une application JavaFX.

La suggestion suivante a fonctionné: remplacer l'appel à System.exit(0) par Platform.exit().

 1
Author: A_Di-Matteo, 2016-01-18 22:20:53

Peut-être que vous avez utilisé le presse-papiers local et non le presse-papiers système. Lire l'exemple suivant: Presse-papiers système

Btw: J'utilise également Windows 8.1 et Java Version 8 Mise à jour 45

 1
Author: Kami, 2016-01-18 21:46:20