【发布时间】:2014-03-29 02:33:58
【问题描述】:
我正在使用 JLists 进行一些测试,我希望在 MouseEnter 上弹出一个小窗口并显示鼠标悬停的列表条目的内容;窗口也位于 MouseExit。
到目前为止,这很好用,但是要更新鼠标必须退出并重新输入。
现在我想让它在并行线程中工作并一直更新窗口,所以它会在我不必先退出的情况下改变,并尝试了这个:
public void run() {
while (!Thread.interrupted()) {
Point p = MouseInfo.getPointerInfo().getLocation();
String text = list.getModel().getElementAt(
list.locationToIndex(p));
lab.setText(text);
}
但它总是只显示列表中最后一个条目的内容,无论鼠标在哪里。
如果我打印出text它总是相同的内容,即使鼠标位置发生变化。
我做错了什么?
【问题讨论】:
标签: java multithreading swing jlist point