La plupart des composants Swing gèrent le copier coller, mais ceci est
"natif" à Java. Qu'en est t'il si l'on veut faire soi même un couper, un
copier ou un coller ? Comment s'interfacer avec le clipboard que java
utilise ?
Et si l'on fait un menu edition dans la barre de menu avec un bouton
copier par exemple. Comment savoir quel composant swing doit être la
cible de la copie ?
Je ne vois pas trop comment faire tout ça, alors si quelqu'un a une idée...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Eric Frigot
Thibaut Desmarest wrote:
Bonjour,
je me pose une question bête :
La plupart des composants Swing gèrent le copier coller, mais ceci est "natif" à Java. Qu'en est t'il si l'on veut faire soi même un couper, un copier ou un coller ? Comment s'interfacer avec le clipboard que java utilise ?
Et si l'on fait un menu edition dans la barre de menu avec un bouton copier par exemple. Comment savoir quel composant swing doit être la cible de la copie ?
Je ne vois pas trop comment faire tout ça, alors si quelqu'un a une idée...
Merci d'avance,
Thibaut
Regardes du côté de Toolkit.getSystemClipboard() qui te renvoit le clipboard du système.
Ensuite, si tu fais un menu avec les 3 boutons cut/copy/paste, tu peux les gérer comme suit :
if (arg0.getSource() == this.cut) { // Cut action StringSelection sc = new StringSelection(this.field.getSelectedText());
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sc, sc); this.field.replaceSelection(""); } else if (arg0.getSource() == this.cut) { // Copy action StringSelection sc = new StringSelection(this.field.getSelectedText());
Désolé pour l'indentation, ici je gère les actions uniquement sur le field (un JTextField).
Si tu veux savoir quel composant est conserné utilise les coordonnées de ta souris pour récupérer le bon composant sur ton panel
Eric.
Thibaut Desmarest wrote:
Bonjour,
je me pose une question bête :
La plupart des composants Swing gèrent le copier coller, mais ceci est
"natif" à Java. Qu'en est t'il si l'on veut faire soi même un couper, un
copier ou un coller ? Comment s'interfacer avec le clipboard que java
utilise ?
Et si l'on fait un menu edition dans la barre de menu avec un bouton
copier par exemple. Comment savoir quel composant swing doit être la
cible de la copie ?
Je ne vois pas trop comment faire tout ça, alors si quelqu'un a une idée...
Merci d'avance,
Thibaut
Regardes du côté de Toolkit.getSystemClipboard() qui te renvoit le
clipboard du système.
Ensuite, si tu fais un menu avec les 3 boutons cut/copy/paste, tu peux
les gérer comme suit :
if (arg0.getSource() == this.cut) { // Cut action
StringSelection sc = new
StringSelection(this.field.getSelectedText());
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sc, sc);
this.field.replaceSelection("");
}
else if (arg0.getSource() == this.cut) { // Copy action
StringSelection sc = new
StringSelection(this.field.getSelectedText());
La plupart des composants Swing gèrent le copier coller, mais ceci est "natif" à Java. Qu'en est t'il si l'on veut faire soi même un couper, un copier ou un coller ? Comment s'interfacer avec le clipboard que java utilise ?
Et si l'on fait un menu edition dans la barre de menu avec un bouton copier par exemple. Comment savoir quel composant swing doit être la cible de la copie ?
Je ne vois pas trop comment faire tout ça, alors si quelqu'un a une idée...
Merci d'avance,
Thibaut
Regardes du côté de Toolkit.getSystemClipboard() qui te renvoit le clipboard du système.
Ensuite, si tu fais un menu avec les 3 boutons cut/copy/paste, tu peux les gérer comme suit :
if (arg0.getSource() == this.cut) { // Cut action StringSelection sc = new StringSelection(this.field.getSelectedText());
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sc, sc); this.field.replaceSelection(""); } else if (arg0.getSource() == this.cut) { // Copy action StringSelection sc = new StringSelection(this.field.getSelectedText());
Désolé pour l'indentation, ici je gère les actions uniquement sur le field (un JTextField).
Si tu veux savoir quel composant est conserné utilise les coordonnées de ta souris pour récupérer le bon composant sur ton panel
Eric.
Thibaut Desmarest
Si tu veux savoir quel composant est conserné utilise les coordonnées de ta souris pour récupérer le bon composant sur ton panel
Ben non justement puisque je rappelle que le probleme vient du fait que le raccourci couper/copier/coller doit se trouver dans le menu edition, comme sous word ou eclipse ou n'importe quel logiciel. Donc si on clique dans le menu la souris est sur le menu...
Non ?
Eric.
Si tu veux savoir quel composant est conserné utilise les coordonnées de
ta souris pour récupérer le bon composant sur ton panel
Ben non justement puisque je rappelle que le probleme vient du fait que
le raccourci couper/copier/coller doit se trouver dans le menu edition,
comme sous word ou eclipse ou n'importe quel logiciel. Donc si on clique
dans le menu la souris est sur le menu...
Si tu veux savoir quel composant est conserné utilise les coordonnées de ta souris pour récupérer le bon composant sur ton panel
Ben non justement puisque je rappelle que le probleme vient du fait que le raccourci couper/copier/coller doit se trouver dans le menu edition, comme sous word ou eclipse ou n'importe quel logiciel. Donc si on clique dans le menu la souris est sur le menu...