java jtree中的结点如何与右边的页面关联

2024-11-15 23:53:01
推荐回答(2个)
回答1:

给jtree 添加事件监听裂档禅 监听里调用一个方法并传事件为参数
当参数满足你给定的条件蠢碰时候 对右边页面的属性进行修改。。
如:panel的 显隐(setVisiable())、文本的改变等等。
我在网上搜了一下 这个是关键代码

jTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() { //JTree的事件监听
public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
jTreeValueChanged(evt);
}
});
}
private void jTreeValueChanged(javax.swing.event.TreeSelectionEvent evt) {
DefaultMutableTreeNode selectedNode=(DefaultMutableTreeNode) jTree.getLastSelectedPathComponent(); //返回最后选定的节点
if(selectedNode.toString().equals("child")){ //肆尘 判断条件
jTextField.setText("I LOVE YOU");
}

回答2:

private JTree tree;
private TreeNode node;
private DefaultTreeModel model;
private DefaultTreeCellRenderer renderer;
model = new DefaultTreeModel(node);
tree = new JTree(model);
renderer = new DefaultTreeCellRenderer();
renderer.setLeafIcon(new ImageIcon("a.jpg"));叶子结点李基图片
renderer.setClosedIcon(new ImageIcon("b.jpg"));关闭树后显示的图片
renderer.setOpenIcon(new ImageIcon("c.jpg"));打开树时显示的图片
tree.setCellRenderer(renderer);
那应该是你的路径问题,我也碰到过,不防用绝对路径试试,启腊把图片哪旁谨放在C盘(或其他盘)根目录下,然后用这个绝对路径。希望你好运~