我試過在JComboBox上使用getInputMap()+ getActionMap(),它似乎沒有效果。擺動:檢測在JComboBox中輸入?
我已經嘗試了JComboBox上的addActionListener()/ addItemListener(),我似乎無法區分從按下Return/Enter鍵的某個選擇的變化。
有什麼建議嗎?在我的應用程序中,我希望Return/Enter鍵比選擇更強大,這是一個選擇+應用操作。
這是我設置密鑰綁定的代碼。當組件是JList
時,它可以正常工作(例如調用note("hit ENTER")
),但在組件是JComboBox時不起作用。
private void setupApplyProfile(final JComponent component, final MyComboBoxModel mcbm)
{
String enterAction = "applyItem";
KeyStroke enterKey = KeyStroke.getKeyStroke("ENTER");
component.getInputMap().put(enterKey, enterAction);
component.getActionMap().put(enterAction, new AbstractAction()
{
@Override public void actionPerformed(ActionEvent e) {
note("hit ENTER");
applySelectedProfile(mcbm);
}
});
}
你是如何使用getActionMap()? – jzd 2011-02-11 23:42:47
見上面...... – 2011-02-15 15:03:28