jtree 选择 jtree 在编辑的时候,要控制焦点只能在当前编辑的结点上,不能选择其他结点,怎么做??? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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()); } }} tree.setSelectionPath(path);tree.scrollPathToVisible(path);treeModel.nodeStructureChanged(node); 如果在private class ListTreeTreeSelectionListener implements TreeSelectionListener { public void valueChanged(TreeSelectionEvent e) {在这里可以通过e获old 接点,tree.setSelectionPath(path); 后又会触发一次valueChanged这样会死循环 要知道 Java API是怎样设计的可看以下帖子内容 如何合并两个Map的value(key相同)? 新手提问 请问:关于jfreechart中的BarChart3DDemo4.java中怎么让数值显示在柱子顶上。 关于字体的小问题,大家来看一下 JDBC连接oracle的问题 SQLXMLBulkLoad 散分 哪位大哥大姐知道IAS是东西?有没有详细的中文资料? 找个java读取cookie的包 关于checkbox同步的问题 jtree 控制结点选择
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());
} }
}
tree.scrollPathToVisible(path);
treeModel.nodeStructureChanged(node);
TreeSelectionListener {
public void valueChanged(TreeSelectionEvent e) {
在这里可以通过e获old 接点,
tree.setSelectionPath(path); 后
又会触发一次valueChanged这样会死循环