2009-12-16 43 views
0

我處於一種情況,我有一個類,ActionFactory產生ActionListener s用於菜單項和按鈕。現在我想將這些操作中的一些綁定到鍵。ActionListener作爲鍵綁定


    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()); 

但動作映射需要一個AbstractAction,現在是有辦法使用的ActionListener在這種情況下,我就沒有想創建一個只爲這一回AbstractAction代替重複的功能的方式。

回答

1

我能看到的最簡單的方法是:更改ActionFactory,讓它創建Actions而不是ActionListeners。