本文实例讲述了java swing中jlist选择事件监听器listselectionlistener用法。分享给大家供大家参考,具体如下:
当jlist中的元素被选中时,选择事件将被触发。对于jtable也是一样,你可以把它看做是多个并列的jlist。那么,如果程序需要对该事件做出响应,需要以下步骤:
(1)创建一个实现了 listselectionlistener的监听器;
(2)使用jlist或selectionmodel的addlistselectionlistener添加监听器;
(3)在监听器的valuechanged方法添加响应代码。
在响应代码中需要注意的是getvalueisadjusting值的判断。测试表明,每当我们进行选择时,valuechanged方法都会被激活多次,其中,在最后的鼠标操作中,getvalueisadjusting值为false,而在一系列中间操作中,该值均为true。比如说,用鼠标连续划过一串元素时,会有一系列getvalueisadjusting为true的valuechanged方法激活,且最后一次为false。而我们对选择事件的判定一般是以最后接触为准,因此这里对getvalueisadjusting值进行一个判断。
常用方法如下:
getleadselectionindex()
返回当前选中的元素的index。
getminselectionindex()
返回选中的多个元素中index的最小值,如果选择为空在返回-1。
getmaxselectionindex()
原理同上。
isselectedindex(int index)
判断指定index是否被选中。
clearselection()
清除选中。
getselectedindex()
返回被选中的所有元素中最小的index。
getselectedindices()
返回一个整型数组,包含被选中的所有index。
getselectedvalue()
返回被选中的,index最小的元素值。
getselectedvalues()
返回一个object数组,包含被选中的所有元素对象。
getselectedvalueslist()
返回一个objectlist,包含被选中的所有元素对象。
下面的demo来自于listselectiondemo.java
相关文章
- 个人网站搭建:如何挑选具有弹性扩展能力的服务器? 2025-06-10
- 个人服务器网站搭建:如何选择适合自己的建站程序或框架? 2025-06-10
- 64M VPS建站:能否支持高流量网站运行? 2025-06-10
- 64M VPS建站:怎样选择合适的域名和SSL证书? 2025-06-10
- 64M VPS建站:怎样优化以提高网站加载速度? 2025-06-10