雖然 JComboBox 也可利用觸發事件來處理所選擇的選項,但實際上跟按鈕的觸發事件略有不同。例如單單選取某個選項,就會觸發兩次 itemStateChanged 的事件,原因在於 itemState 有兩種,各為 ItemEvent.DESELECTED (已選擇變成未被選擇),以及 ItemEvent.SELECTED (未被選擇變成已選擇)。故在 itemStateChanged 事件內再加入 e.getStateChange() 來判斷目前狀況,如下述程式碼:
public class action implements ItemListener{
// 觸發事件
public void itemStateChanged(ItemEvent e) {
//選單觸發事件
if(e.getStateChange()==ItemEvent.SELECTED){
//未被選擇變成已選擇
......
}
if(e.getStateChange()==ItemEvent.DESELECTED){
//已選擇變成未被選擇
......
}
}
}
參考資料:
沒有留言:
張貼留言