JComboBox ItemListener监听器
imp<wbr>ort java.awt.event.ItemEvent;<br>
imp<wbr>ort java.awt.event.ItemListener;</wbr></wbr>
imp<wbr>ort javax.swing.JComboBox;</wbr>
class itemListener implements ItemListener {
public voiditemStateChanged(ItemEvent e){
if (e.getStateChange() == ItemEvent.SELECTED) {
JComboBox jcb = (JComboBox) e.getSource();
System.out.println((String) (jcb.getSelectedItem()));
System.out.println(jcb.getSelectedIndex());
} else {
}
}
}
今天用到了JComboBox的事件监听类 ItemListener,程序在执行时发现事件总是被触发两次,上网看了些资料,原来和ItemListener类中的方法itemStateChanged()事件的itemState有关,itemState在这里的状态有两个,Selected 和 deSelected(即选中和未被选中),所以,当改变下拉列表中被选中的项的时候,其实是触发了两次事件,第一次是上次被选中的项的 State 由 Selected 变为 deSelected ,即取消选择,
第二次是本次被选中的项的 State 由 deSelected 变为 Selected ,即新选中,所以,必然的 ItemStateChanged 事件中的代码要被执行两次了。
解决方法 就是:
if(e.getStateChange() == ItemEvent.SELECTED){
//要执行的代码
}
即为当事件是选中某一项的时候,才执行该代码。
分享到:
相关推荐
java JComboBox的使用 java JComboBox的使用 java JComboBox的使用
java JComboBox的事件处理 java JComboBox的事件处理 java JComboBox的事件处理
JComboBox动态绑定数据库实例,数据库为Sql2000,使用JDBC连接数据库
java 建立有图像的JComboBox java 建立有图像的JComboBox java 建立有图像的JComboBox
一个多选的JComboBox完整例子,JComboBox下面包含JCheckBox
支持自动过滤可选项的JComboBox 支持键盘选择、鼠标选择
实现下拉列表JComboBox中值和显示不同
能够通过JComboBox的选择实现动态生成jCombobox菜单,从而实现动态级联效果
java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox java 建立可自行输入的JComboBox
jcombobox,众所周知,java的下拉列表框,非常的难看-丑,该源码修改了其外表
JComboCheckBox JComboBox与JCheckBox结合源码。 网上下载代码,修改了一点点。。。上传,以备后用。。
JComboBox自动过滤,很好用~,能添加到swing,无ui限制
很久没用JAVA了,现在项目上需要在jtable里用jcombobox做显示,自己写了一些但是没有选择的时候没有下拉按钮,这个例子纠正了这个问题
主要介绍了Java Swing JComboBox下拉列表框的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java 利用ComboModel构造JComboBox java 利用ComboModel构造JComboBox
NULL 博文链接:https://jisonami.iteye.com/blog/2181450
关于swing组件JComboBox中中如何获得应用下拉単中的元素得到元素的Object
multicolumn jcombobox demo
JComboBox是Swing库提供的一个下拉列表组件,它允许用户从预定义的选项中选择一个或多个选项。
主要代码: this.setTitle("下拉框美化")... JComboBox<String> cb = new JComboBox(strArr); cb.setUI(new ComboBoxUIEx()); cb.setBounds(10, 10, 100, 50); container.add(cb); this.setVisible(true);