2010-05-31 6 views
2

J'ai une application avec un widget SWT, disons un org.eclipse.swt.widgets.Text, et je veux ajouter un peu de contrôle à la fonction de collage. L'idée est que si l'utilisateur peut coller une chaîne d'ID, je la détecte, exécute du code et colle l'objet qui correspond aux ID.écouteur "coller" sur un widget SWT

Donc je cherche un "ClipBoardListener" de quelque sorte à ajouter à mon widget, mais cela ne semble pas exister. Un keylistener ne ferait que piéger les pâtes faites par la clé et ensuite vous devrez gérer différentes combinaisons de touches pour coller dans différents systèmes d'exploitation.

Basé sur this java 1.2 question I Tried la classe de sous-classement texte et remplacer la méthode Inser, mais ne marchait pas

Exception in thread "main" org.eclipse.swt.SWTException: Subclassing not allowed 

Semblait une solution laide de toute façon.

Répondre

1

Il existe un ModifyListener que vous pouvez écouter. Il ne fait pas de distinction entre le texte tapé et le texte collé, mais en fonction de ce que vous semblez vouloir faire, cela pourrait également fonctionner.

+0

Merci, oui, cela fonctionnerait je pense. – Fredrik

3

Fredrik, Handling ModifyListner ne résoudra pas votre problème, car il sera invoqué chaque fois que vous tapez quelque chose. Comme je crois que vous êtes intéressé à gérer "PASTE" événement seulement. Comme dans ModifyListner vous ne saurez pas si cela est déclenché parce que quelqu'un a tapé des données ou des données via l'événement "PASTE" (cette pâte peut être CTRL-V, menu contextuel "Coller" ou autres touches spécifiques à l'OS)

Questions connexes