注释错了 sorry
public void mousePressed(MouseEvent e)
{
try{
String aaa="";
String bbb="";
JTree tr1 = (JTree)e.getSource();
int rowLocation = tr1.getRowForLocation(e.getX(), e.getY());
TreePath treepath = tr1.getPathForRow(rowLocation);
treenode = (TreeNode) treepath.getLastPathComponent();//这个地方出现错误
求解
.
.
.
.
public void mousePressed(MouseEvent e)
{
try{
String aaa="";
String bbb="";
JTree tr1 = (JTree)e.getSource();
int rowLocation = tr1.getRowForLocation(e.getX(), e.getY());
TreePath treepath = tr1.getPathForRow(rowLocation);
treenode = (TreeNode) treepath.getLastPathComponent();//这个地方出现错误
求解
.
.
.
.
如果只是要在tree选择变化的时候得到通知,不如使用 addTreeSelectionListener()加一个选择变化监听器。如果必须要使用MouseListener的话(比如要监听双击事件),你可以参考JTree的API文档中的例子:final JTree tree = ...; MouseListener ml = new MouseAdapter() {
public void mousePressed(MouseEvent e) {
int selRow = tree.getRowForLocation(e.getX(), e.getY());
TreePath selPath = tree.getPathForLocation(e.getX(), e.getY());
if(selRow != -1) {
if(e.getClickCount() == 1) {
mySingleClick(selRow, selPath);
}
else if(e.getClickCount() == 2) {
myDoubleClick(selRow, selPath);
}
}
}
};
tree.addMouseListener(ml);
注:我是点击在树结点上展开树,也出现这个错误,原来单独测试树和JTable联动时是没有问题的
后来完成树的添加、删除、修改功能后不能用了 怪