日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java代码执行了两次_Java中JComboBox的itemStateChanged事件执行两次的解释

發布時間:2025/3/11 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java代码执行了两次_Java中JComboBox的itemStateChanged事件执行两次的解释 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天做項目,用到了JComboBox,即下拉列表框。為了在被選中的項發生改變時獲得被選中的項,所以使用的ItemStateChanged事件,可是問題就來了,每次觸發該事件,它都執行兩次,屢試不爽。一開始以為是代碼寫錯了,可是仔細檢查確沒有發現什么可疑的地方,百思不得其解。于是到網上查找資料,發現很多朋友都遇到了一樣的情況,于是斷定,并非自己的代碼錯誤。便開始查資料,翻書,問朋友。一番苦功沒有白下,終于在朋友那里得到了滿意的合理的解答,恍然大悟。

解釋一下原因,其實很簡單,從該事件的字面意思來理解,就是item的狀態發生改變時觸發該事件,item在這里的狀態有兩個,Selected 和 deSelected(即選中和未被選中),所以,當改變下拉列表中被選中的項的時候,其實是觸發了兩次事件,第一次是上次被選中的項的 State 由 Selected 變為 deSelected ,即取消選擇, 第二次是本次被選中的項的 State 由 deSelected 變為 Selected ,即新選中,所以,必然的 ItemStateChanged 事件中的代碼要被執行兩次了。

解決方法 就是:

if(e.getStateChange() == ItemEvent.SELECTED){

//要執行的代碼

}

即為當事件是選中某一項的時候,才執行該代碼。

這一點,竊以為不如C#了,人家起碼有個SelectedIndexChanged事件,可以直接在被選中項發生改變是觸發,而不會有以上的歧義~

Java中JComboBox的itemStateChanged事件執行兩次的解釋.doc

下載Word文檔到電腦,方便收藏和打印[全文共568字]

編輯推薦:

下載Word文檔

總結

以上是生活随笔為你收集整理的java代码执行了两次_Java中JComboBox的itemStateChanged事件执行两次的解释的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。