【发布时间】:2012-09-09 19:25:06
【问题描述】:
我最近在 java 中遇到了一个错误,其中 JList 在使用鼠标更改值时会触发 valueChanged() 方法两次,而在使用键盘更改值时只会触发一次。我刚刚在 Oracle 的网站上找到了 a bug 与此相关的内容(显然,该错误已超过 12 岁),我想知道是否有人可以向我解释原因Oracle 已确定这不是缺陷(更不用说使用键盘时 getValueIsAdjusting() 返回 false)。
对于遇到此问题的任何人,我发现只需检查 getValueIsAdjusting() 何时为假,然后运行我的其余方法即可解决此问题。
【问题讨论】:
-
这不是一个错误,它是一个特性 ;-) 说真的,众所周知(咳嗽..我自己偶尔会忘记它)大多数时候只有带有 !getIsValueAdjusting 的通知与应用程序代码相关.除此之外,你到底在抱怨什么?
标签: java swing jlist java-7 listselectionlistener