我有一個組合框,其中包含一個項目說讓「一個」。我想調用該組合框的動作監聽器,只有在手動選擇項目「a」完成時纔會被調用。 我也試過ItemStateChanged,但它的作用類似於Action Listener。JComboBox工作
我該怎麼辦?
我有一個組合框,其中包含一個項目說讓「一個」。我想調用該組合框的動作監聽器,只有在手動選擇項目「a」完成時纔會被調用。 我也試過ItemStateChanged,但它的作用類似於Action Listener。JComboBox工作
我該怎麼辦?
看看下面的例子。
// Create an editable combobox
String[] items = {"item1", "item2"};
JComboBox cb = new JComboBox(items);
cb.setEditable(true);
// Create and register listener
MyItemListener actionListener = new MyItemListener();
cb.addItemListener(actionListener);
class MyItemListener implements ItemListener {
// This method is called only if a new item has been selected.
public void itemStateChanged(ItemEvent evt) {
JComboBox cb = (JComboBox)evt.getSource();
// Get the affected item
Object item = evt.getItem();
if (evt.getStateChange() == ItemEvent.SELECTED) {
// Item was just selected
} else if (evt.getStateChange() == ItemEvent.DESELECTED) {
// Item is no longer selected
}
}
}
我不認爲你可以聽的事件只爲一個組合框項目,但整體上組合框聽的時候,回調可以處理的事件(或忽略它)之前檢查所選項目。
在由薩米特·辛格提供的爲例,檢查受影響的項目
// Get the affected item
Object item = evt.getItem();
//check item
if(item == <the item you want to watch>)
{
//process
}
如何讓2周的ActionListeners,如果「A」選擇一個會看到,如果它是它將調用第二一個
你可以請發表正確的解釋和代碼如何實現,因爲它似乎與我無關...... –
爲什麼? (15個字符) – kleopatra
添加監聽器_before_設置初始選擇可能會出現需要此操作。如果這不是問題,發佈你的[sscce](http://sscce.org/)可能有助於澄清。 – trashgod