有200分啊,天!我来了;)哈哈哈;)public void mouseClicked(MouseEvent e)
{
int x = e.getX();
int y = e.getY();
int row = tree.getRowForLocation(x,y);
TreePath path = tree.getPathForRow(row);
Rectangle mbounds = tree.getRowBounds(row);
//TreePath path = tree.getSelectionPath();
if(path == null)
{
return;
} UITreeNode node = (UITreeNode)path.getLastPathComponent(); boolean isSelected = !(node.isSelected());
//解决了默认双击展开与折叠的问题!
if(mbounds != null && x > mbounds.x + ((UITreeNodeRenderer)tree.getCellRenderer()).check.getWidth())
{
//在这里做你的CheckBox操作
return;
} if(ftreeModel.isChecked() && mbounds != null && x < mbounds.x + ((UITreeNodeRenderer)tree.getCellRenderer()).check.getWidth())
{
node.setIsChecked(!node.isChecked());
node.setSelected(!node.isSelected());
if(node.isChecked())
{
tree.getSelectionModel().addSelectionPath(path);
}
}
if(node.isExpanded())
{
expandAll(tree,path,false);
node.setisExpanded(false);
}
else
{
expandAll(tree,path,true);
node.setisExpanded(true);
}
}
{
int x = e.getX();
int y = e.getY();
int row = tree.getRowForLocation(x,y);
TreePath path = tree.getPathForRow(row);
Rectangle mbounds = tree.getRowBounds(row);
//TreePath path = tree.getSelectionPath();
if(path == null)
{
return;
} UITreeNode node = (UITreeNode)path.getLastPathComponent(); boolean isSelected = !(node.isSelected());
//解决了默认双击展开与折叠的问题!
if(mbounds != null && x > mbounds.x + ((UITreeNodeRenderer)tree.getCellRenderer()).check.getWidth())
{
//在这里做你的CheckBox操作
return;
} if(ftreeModel.isChecked() && mbounds != null && x < mbounds.x + ((UITreeNodeRenderer)tree.getCellRenderer()).check.getWidth())
{
node.setIsChecked(!node.isChecked());
node.setSelected(!node.isSelected());
if(node.isChecked())
{
tree.getSelectionModel().addSelectionPath(path);
}
}
if(node.isExpanded())
{
expandAll(tree,path,false);
node.setisExpanded(false);
}
else
{
expandAll(tree,path,true);
node.setisExpanded(true);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货