2010-08-04 4 views
2

J'ai un JButton (ou n'importe quel composant, vraiment) que je voudrais tromper en pensant qu'il a été cliqué dessus et donc en tirant son action exécutée l'événement. Je ne veux pas appeler l'action effectuée ou faireClick directement parce que j'essaie de faire une solution qui généralise au-delà des boutons, et je suis contraint de poster des événements.Comment puis-je appuyer sur un JButton swing en utilisant des événements souris?

J'aurais pensé que publier un événement MousePressed dans la file d'attente d'événements du système l'aurait fait, mais non. (avec l'emplacement approprié, le nombre de clics etc.)

Ensuite, je pensais qu'une souris entrait suivie d'un mouvement de la souris, une souris appuyée, une souris relâchée, et une souris cliquée, mais non. Rien de tout cela ne permet à JButton de déclencher son action comme il le fait lorsque je clique dessus.

Est-ce que quelqu'un a causé un JButton à cracher son événement d'action effectué en le pilotant avec des événements de souris? Déplacé un JSlider avec des événements de souris? Développé un noeud d'arbre?

Merci pour toute aide.

Répondre

1

Avez-vous essayé la méthode fireActionPerformed? Je ne peux pas me rappeler maintenant si tous les composants l'ont, mais si je me souviens bien, tous les boutons et les éléments de menu devraient l'avoir. Juste une pensée

+0

'fireActionPerformed' est' protected', vous devrez donc l'exposer dans une sous-classe. – akf

+0

vous auriez à puisque seulement les classes dans le même paquet ou une sous-classe seraient en mesure de l'utiliser. Comment allez-vous mettre en œuvre le reste est tout pour vous. Ce n'est pas une chose commune et je ne l'ai jamais fait, j'ai juste supposé que cela fonctionnerait en fonction de ce que disent les javadocs – zcourts

Questions connexes