jtree 选择

dzy_pb 2008-01-12 09:47:39
jtree 在编辑的时候,要控制焦点只能在当前编辑的结点上,不能选择其他结点,怎么做???
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dzy_pb 2008-01-16
  • 打赏
  • 举报
回复
如果在private class ListTreeTreeSelectionListener implements
TreeSelectionListener {
public void valueChanged(TreeSelectionEvent e) {
在这里可以通过e获old 接点,
tree.setSelectionPath(path); 后
又会触发一次valueChanged这样会死循环
wunan320 2008-01-16
  • 打赏
  • 举报
回复
tree.setSelectionPath(path);
tree.scrollPathToVisible(path);
treeModel.nodeStructureChanged(node);
dzy_pb 2008-01-16
  • 打赏
  • 举报
回复
这个好象没有什么用!
ohuan 2008-01-14
  • 打赏
  • 举报
回复
LZ 可以参考如下代码:
public class TreeEventHandle extends MouseAdapter implements
TreeSelectionListener {
// DefaultTreeModel treeModel = null;
DefaultMutableTreeNode root;

public TreeEventHandle() {
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}

private void jbInit() {
root = new DefaultMutableTreeNode("系统", true);
JTree tree = new JTree(root);
tree.getSelectionModel().setSelectionMode(
TreeSelectionModel.SINGLE_TREE_SELECTION);
tree.addTreeSelectionListener(this);

JScrollPane scrollPane = new JScrollPane();
scrollPane.setViewportView(tree);

}

public void valueChanged(TreeSelectionEvent e) {
JTree tree = (JTree) e.getSource();
// 利用JTree的getLastSelectedPathComponent()方法取得目前选取的节点.
DefaultMutableTreeNode selectionNode = (DefaultMutableTreeNode) tree
.getLastSelectedPathComponent();

if (selectionNode != null && selectionNode.isLeaf()) {
JOptionPane.showMessageDialog(null, "叶子:"
+ selectionNode.toString());
System.out.println("叶子:" + selectionNode.toString());
}

}
}
dzy_pb 2008-01-12
  • 打赏
  • 举报
回复
可以具体点吗????
IamHades 2008-01-12
  • 打赏
  • 举报
回复
监听当前节点失去焦点事件撒,一旦发现失去焦点,就重新设置让它获得焦点就ok了

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧