java代碼執行了兩次_Java中JComboBox的itemStateChanged事件執行兩次的解釋

ef6b33f0ac6f0ae3adfd93af3940aa32.png

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

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

解決方法 就是:

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

//要執行的代碼

}

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

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

2829f2ca24f0d0090cbba57f30759f23.png

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

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

編輯推薦:

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

8b95f2eb3d3f7ce4dc3bf1178c74941e.png

下載Word文檔

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538402.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538402.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538402.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python連接mongo_使用簡單的Python連接訪問MongoDB

繼續來聊MongoDB。MongoDB作為了一個數據庫產品軟件,除了服務器Server端進程(mongod)外,還提供了比較豐富的訪問連接接口。我們最常用的就是兩個類型,一個是原生mongo shell,另一個就是應用程序語言訪問接口。1、從Mongo Shell到應…

spring與mybatis三種整合方法

原文鏈接:http://www.cnblogs.com/wangmingshun/p/5674633.html ------------------------------------------------------------------------------------------------- 1、采用MapperScannerConfigurer,它將會查找類路徑下的映射器并自動將它們創建成…

js常用的2中排序方法:冒泡排序和快速排序

冒泡排序:例如9 4 5 6 8 3 2 7 10 1 首先:9和4比較 4放前 4 9 5 6 8 3 2 7 10 1 4和5比較 4不動 4 9 5 6 8 3 2 7 10 1 4和6比較 4不動 4 9 5 6 8 3 2 7 10 1 4和3比較 3放前 3 9 5 6 8 4 2 7 10 1 3和2比較 2放前 2 9 5 6 8…

java 注冊頁面正則式_Java使用正則表達式對注冊頁面進行驗證功能實現

本文給大家介紹java使用正則表達式對注冊頁面進行驗證的代碼,代碼如下所示:package regex;import java.util.Scanner;import java.util.regex.Matcher;import java.util.regex.Pattern;public class registered {public static void main(String[] args)…

python 編程效率_如何有效提升數據分析效率?五大Python技巧

如何有效提升數據分析效率?相信這是所有數據分析工作者都想解決的問題。本文整理了五大python技巧,分別是Pandas Profiling;使用 Cufflinks 和 Plotly 繪制 Pandas 數據;IPython 魔術命令;Jupyter 中的格式編排&#x…

please select a vaild python interpret

當 JetBrains PyCharm 2017.1.3 x64 遇到 please select a vaild python interpret 錯誤時: 進入PyCharm setting 選項,搜索 interpret

Grafana分析Nginx日志

配置Groub by -Terms時報錯,提示需要設置fielddatatrue,報錯內容大概如下: "Fielddata is disabled on text fields by default ... " 解決方法如下: https://www.elastic.co/guide/en/elasticsearch/reference/curren…

php curl json post請求_php post請求發送json對象數據參數

網頁中發送請求時,大部分情況都參數以鍵值組合發送數據的,而一些第三方如java開發的接口中需要發送post請求,請求參數為json類型。既然要發送json數據,首頁我們需要在請求頭中定義數據類型為json,告訴服務器客服端發送…

python刪除鏈表中的最小元素_LintCode Python 入門級題目 刪除鏈表元素、整數列表排序...

刪除鏈表元素:循環列表head,判斷當前指針pre.next的val是否等于val,如果是,當前pre重指向pre.next.next,直至pre.next Null# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.va…

IDEA 更換主題

1、下載主題文件 百度或者谷歌 IDEA themes 網址有可能會變化。目前是 http://color-themes.com 選擇自己喜歡的顏色,下載。 2、導入主題文件 File----Import Setting 導入下載的jar文件,一路確認,idea會自動重啟。 3、選擇主題 點擊…

【CentOS 7筆記】cp、mv、文檔查看方式

2019獨角獸企業重金招聘Python工程師標準>>> 一. copy 常用cp -r/R #拷貝目錄,遞歸 cp -i #覆蓋時會提示,默認項 cp -p #保留源目錄或源文件的屬性 cp -b #源文目與目的文目建立鏈接,鏈接 cp -f #強制覆蓋 cp -v …

php 情書,php趣味編程 - php輸出笛卡爾情書的秘密

/*笛卡爾情書的秘密心形圖案的實現。重點是心形函數ra(1-sin),據說這是笛卡爾死前寄出的最后一封情書內容。這里面隱藏著一個刻骨銘心的秘密;“一生只為等待能手繪這個函數給我的人”*/$width 500;$height 500;header("Content-type: image/gif");$img …

python 月報_python實踐--月報分析之獲取jira缺陷數據

首先安裝jira,同其他第三方庫,直接可以 easy_install jira。判斷jira是否按轉成功輸入:from jira import JIRA,如果沒有報錯則說明安裝成功;#連接jirajira JIRA(“http://jira地址”,basic_auth (“用戶名…

JAVA中的native

native主要用于方法上,簡單介紹如下: 1、一個native方法就是一個Java調用非Java代碼的接口。一個native方法是指該方法的實現由非Java語言實現,比如用C或C實現。 2、在定義一個native方法時,并不提供實現體(比較像定…

script filename php,PHP $_SERVER['SCRIPT_FILENAME'] 與 __FILE__ 的區別

PHP $_SERVER[SCRIPT_FILENAME] 與 __FILE__通常情況下,PHP $_SERVER[SCRIPT_FILENAME] 與 __FILE__ 都會返回 PHP 文件的完整路徑(絕對路徑)與文件名:echo SCRIPT_FILENAME 為:,$_SERVER[SCRIPT_FILENAME];echo ;echo __FILE__ 為&#xff1…

015. 深入JVM學習—Java引用類型

2019獨角獸企業重金招聘Python工程師標準>>> 1. 引用類型劃分 強引用:當內存不足時,JVM寧可出現“OutOfMemoryError”錯誤停止,也需要進行保存,并且不會將此空間回收。 軟引用:當內存不足的時候&#xff0…

python人臉關鍵點識別_用Face++實現人臉關鍵點檢測

最近看了一篇很有意思的文章 http://matthewearl.github.io/2015/07/28/switching-eds-with-python/ ,本來想自己復現一下,后來發現自己太菜,用了一整天只完成了不到一半,最近要找工作了,看書看的有點煩,本…

【東營seo】SEO發展下的大機遇

【東營seo】SEO發展下的大機遇 seo優化越來越難做,很多的人都開始懷疑seo優化沒有價值。的確現如今seo優化與十年前比確實不是一個級別的,即便如此,seo優化還是存在其持續發展的機制。  自然搜索排名不再是唯一的競爭點,語音搜索…

手機整屏顯示數據php,完美解決手機網頁大背景不能鋪完整個屏幕的超級代碼

html,body{min-height:100%;} 優化 html{min-height:100%;} html,body{min-height:100%;}body{background-image:url(bg_640.jpg);background-size:cover;babackground-repeat:no-repeat;}.main{padding-top:141%;text-align:cenhtml,body{min-height:100%;}優化html{min-heigh…

python linux教程_Python入門系列教程1—linux基礎

課程咨詢、獲取課件、技術交流直接加入博學谷在線學習:631731828課程簡介本課程是Python系列入門課程的第一階段,首先通過介紹不同領域的三種操作系統,操作系統的發展簡史以及Linux系統的文件目錄結構,讓大家對Linux系統有一個簡單…