【发布时间】:2012-01-12 11:20:03
【问题描述】:
我扩展了JList 以提供两个独立的功能,即项目的工具提示文本和右键单击选项。两者都单独工作,但是当我尝试将它们一起使用时,MouseMoved 事件没有被识别?以下是我的新侦听器方法的内容。我应该如何协商这些不同的事件?
public class JListTT extends javax.swing.JList {
public JListTT() {
super();
addMouseListener(new ttListener());
...
class ttListener extends MouseAdapter {
public void mouseMoved(MouseEvent e) {
String nodeID = bldItemNodeID();
theList.setToolTipText(nodeID);
}
public void mousePressed(MouseEvent ev) {check(ev); }
public void mouseReleased(MouseEvent ev) {check(ev); }
public void mouseClicked(MouseEvent ev) {check(ev); }
public void check(MouseEvent ev) {
if (ev.isPopupTrigger()) {
theList.setSelectedIndex(theList.locationToIndex(ev.getPoint()));
menu.show(theList, ev.getX(), ev.getY());
}
}
}
【问题讨论】:
-
请学习java命名约定并遵守它们
-
@Dave Clemmer 请问你为什么要清理标签之一,
标签: java swing mouseevent mouse jlist