2010年8月5日 星期四

JComboBox 下拉式選單的注意事項

雖然 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){
             //已選擇變成未被選擇
             ......
             }
       }
}

參考資料:

沒有留言:

張貼留言