【发布时间】:2012-01-28 00:32:42
【问题描述】:
我正在使用鼠标侦听器来了解用户何时单击 JTree 的节点。虽然当用户单击箭头扩展节点(查看子节点)时,会引发以下异常:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Core.ChannelView$1.mousePressed(ChannelView.java:120)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:263)
at java.awt.Component.processMouseEvent(Component.java:6370)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
ChannelView 监听器:
MouseListener ml = new MouseAdapter() {
public void mousePressed(MouseEvent e) {
TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
if (e.getClickCount() == 1) {
line 120>>>>> System.out.println(selPath.getLastPathComponent());
} else if (e.getClickCount() == 2) {
System.out.println("Double" +selPath.getLastPathComponent());
}
}
};
tree.addMouseListener(ml);
关于我应该如何处理这种情况的任何建议?我应该在 if 语句中简单地尝试捕获吗?这也是检查双击的好方法还是我应该用不同的方法来做?谢谢
【问题讨论】:
标签: java swing jtree mouselistener