关于下拉框列表监听的最新发现

 

最近在做一个通信项目,名唤"洽洽谷",是一个简单的仿QQ的聊天工具。

好友列表是加在下拉框里面的。为了选择时获取下拉框的选项,给下拉框加了监听器。曾经尝试了3种监听器,都达不到我所要的效果,最后尝试了PopupMenuListener,感觉蛮好。

在监听器里面,我要获取在下拉框中选择的选项,尝试的4种监听器:

1.    ActionListener

效果:当下拉框的第一个选项有更新时,还没有去选择选项,就已经获取了下拉框的

第一项作为选择选项。选项可以连续选择

 

2. MouseListener

效果:选择时,没有反应。

 

3. ItemListener

效果:当被选择项有变化时,才得到选择的项 目(即选择相同的选择,不触发监听事件)。

问题来了:当列表更新时,选项下拉框选项会改变,会触发监听事件。

       举个例子:我在线,你刚刚上线,我的好友列表中就会多一个你,然而你是后加的,就被添加到下拉框的第一栏,致使第一栏的选项被改变,该栏的选项就会被作为选择的选项。

 

4. PopupMenuListener

该监听器名唤:弹出菜单侦听器 

效果:只有选择了选项才会得到选择的项目。即使列表有更新也没有关系。

 

jb是一个JComboBox对象

 

jb.addPopupMenuListener(new PopupMenuListener(){
			public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
			}
			public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
				String name=(String) jb.getSelectedItem();
				name=name.trim();//得到下拉框中选中人的名字
				ComFrame cf=new ComFrame(conn,user,name);//获得与这个人的聊天界面
				new Thread(cf).start();//创建一个线程
			}
			public void popupMenuCanceled(PopupMenuEvent e) {
			}
		});
	
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值