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.mzph.cn/news/538402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring与mybatis三种整合方法

原文链接:http://www.cnblogs.com/wangmingshun/p/5674633.html ------------------------------------------------------------------------------------------------- 1、采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成…

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…

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 …

015. 深入JVM学习—Java引用类型

2019独角兽企业重金招聘Python工程师标准>>> 1. 引用类型划分 强引用:当内存不足时,JVM宁可出现“OutOfMemoryError”错误停止,也需要进行保存,并且不会将此空间回收。 软引用:当内存不足的时候&#xff0…

表正在被别的用户或进程使用_linux内核对进程的管理分为两个方面

嵌入式开发直播课 - linux内核通知链 - 创客学院直播室​www.makeru.com.cn众所周知,现在的分时操作系统能够在一个CPU上运行多个程序,让这些程序表面上看起来是在同时运行的。linux就是这样的一个操作系统。在linux系统中,每个被运行的程序实…

android studio生成签名导打包的方法

原文链接:http://blog.csdn.net/l_215851356/article/details/69914213 ---------------------------------如果图片失效了,见有道云笔记------------------- 方法一: 在android中。可以非常快速的生成签名文件.jsk文件。步骤如下&#xff1…

vbs脚本延时_Wincc的脚本进程执行问题

接到某同事B的电话,说是一段Wincc里面的VBS脚本出现了问题:A按钮和B按钮,要求A按钮点击后,对plc某变量写1并等待5s后写0,在这5s期间如果点击B按钮,同样是对另外一个变量如此操作,则plc在5s内检测…

微信小程序 - 非Form数据怎么发送到后端?

通过设置异步缓存,就可以做到 wx.setStorageSync(imgs,imglist); 最后的提交信息:

DjangoAdmin站点调整列表页展示

调整列表页展示 1 页大小 每页中显示多少条数据,默认为每页显示100条数据,属性如下: list_per_page1001)打开booktest/admin.py文件,修改AreaAdmin类如下: class BookInfoAdmin(admin.ModelAdmin):list_per…

大华热成像netsdkdemo_千年博物,智慧展馆丨大华股份全力守护“华夏珍宝库”...

陕西历史博物馆作为我国第一座大型现代化国家级博物馆,以及首批国家一级博物馆和全国排名前五的国家顶级博物馆,被誉为“古都明珠 华夏宝库”,是讲述五千年中华文化的大学堂,是我国博物馆事业发展的重要里程碑。随着陕西历史博物馆…

最新php常用函数200个,180多个PHP常用函数总结

我们知道任何有效的 php 代码都有可能出现在函数内部,甚至包括其它函数和类定义。本文我们主要和大家分享180多个PHP常用函数总结,希望能帮助大家更高效的学习PHP。数学函数1.abs(): 求绝对值$abs abs(-4.2); //4.211输入: 数字输出: 绝对值数字2.ceil(…

Markdown 使用教程

前言 以前经常在 github 中看到 .md 格式的文件,一直没有注意,也不明白为什么文本文档的后缀不是 .txt ,后来无意中看到了 Markdown,看到了用这个东西写得一些web界面等特别的规整漂亮,顿时不明觉厉。后来自己学习了一下&#xff…

wdm设备驱动程序开发pdf_DWDM是什么 DWDM相关设备功能介绍【图文】

WDM/DWDM技术,什么是WDM/DWDM技术波分复用(WDM)是将两种或多种不同波长的光载波信号(携带各种信息)在发送端经复用器(亦称合波器,Multiplexer)汇合在一起,并耦合到光线路的同一根光纤中进行传输的技术;在接收端,经解复用器(亦称分波器或称去复…

团队作业8—团队项目用户验收评审

一、源代码管理的10 个实践问题: 1. 你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题? 我们团队项目的源代码在GitHub上托管,用git控制代码版本,我们用的是win10系统。在这个项目上&…

Android中已经添加权限,依然提示缺少权限,此时你需要添加动态权限

原文链接:http://blog.csdn.net/android_hdh/article/details/52583557 ------------------------------- 最近在开发项目时,项目需要获取系统的WRITE_EXTERNAL_STORAGE权限,然后就在清单文件AndroidManifest中添加了该权限,但是…

linux php任务计划,linux系统怎么添加计划任务执行php文件

linux系统怎么添加计划任务执行php文件linux系统怎么添加计划任务执行php文件?PHP不支持多线程,有时候处理问题不是那么爽,小编以php文件为例,讲解linux下的计划任务。linux系统添加计划任务执行php文件方法1.打开linux系统命令行界面。在命令行界面中输入如下命令…

windows server 2008 r2 定时关机_电脑怎么定时关机 秒懂的Win10定时关机命令使用方法...

Win10怎么定时关机?今天芝麻科技网教大家3种Win10定时关机方法,包含用命令定时关机、软件以及杀毒工具定时关机等,也适合XP、Win7和Win8等系统,相信对于一些如夜间下载东西或者大文件,挂机等用户有所帮助。方法一&…