2009-12-16 3 views
0

Je suis dans une situation où j'ai une classe ActionFactory qui produit des ActionListener à utiliser dans les éléments de menu et les boutons. Maintenant, je veux lier certaines de ces actions aux clés.ActionListener en tant que liaison de clé


    KeyStroke controlS = KeyStroke.getKeyStroke 
     (KeyEvent.VK_S,modifierKey,false); 
    panel.getInputMap 
     (JComponent.WHEN_IN_FOCUSED_WINDOW).put(controlS, "CTRL_S"); 
    panel.getActionMap().put 
     ("CTRL_S", ActionFactory.getAction1()); 

Mais plan d'action attend un AbstractAction, est maintenant là un moyen d'utiliser ActionListener dans cette situation, je ne veux créer des fonctions en double qui reviennent AbstractAction à la place juste pour cela.

Répondre

1

La solution la plus simple que je puisse voir est: changez votre ActionFactory, laissez-le créer des Actions au lieu des ActionListeners.

Questions connexes