jtree,隐藏根后添加第一层枝不显示。 JtreelistenerJava SE 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JScrollPane;import javax.swing.JTree;import javax.swing.tree.DefaultMutableTreeNode;import javax.swing.tree.DefaultTreeModel;public class JtreeTest extends JFrame { private static int i = 1; private DefaultMutableTreeNode root; private DefaultTreeModel treeModel; private JTree tree; public JtreeTest() { root = new DefaultMutableTreeNode("默认根"); // 利用根节点创建TreeModel this.treeModel = new DefaultTreeModel(root); tree = new JTree(treeModel); tree.setRootVisible(false); // 设置树的系统根不可见 DefaultMutableTreeNode node0 = new DefaultMutableTreeNode("文件0"); treeModel.insertNodeInto(node0, root, root.getChildCount()); tree.expandRow(0); JScrollPane treeScrollPane = new JScrollPane(tree); this.getContentPane().add(treeScrollPane, BorderLayout.SOUTH); JButton btn = new JButton("增加树枝"); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String temp = "文件" + i++; DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(temp); JtreeTest.this.treeModel.insertNodeInto(node1, root, root.getChildCount()); JtreeTest.this.tree.updateUI(); System.out.println(temp); } }); this.getContentPane().add(btn, BorderLayout.NORTH); this.setTitle("树形菜单"); this.pack(); this.setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { new JtreeTest(); }}测试没问题: 版主,我又去运行到看了,还是出不来,请问下可能会是什么原因引起的呢?JDK1.7.0.25 会不会是这个引起的? Java中如何将键值对为等号(=)的数据转换为JSON? buffer.capacity()方法到底是怎样计算的? 关于 为什么在这里用 PrintWriter print()不能输出啊? 怎么截取Int类型的一部分? 取到的值转成int类型以后怎么判断是否为空? 将本地文件放入tree的组件,大家帮忙测试! 求救...甚樣存入一些文字和甚樣取出txt file 的文字,請幫幫忙...thanks jdk安装已经需要配置些什么?flying423, Azraelfan进来接分! 请问怎么在java中用反三角函数? java项目中有无.setting文件夹的区别 抽象类的方法必须被子类继承吗
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;public class JtreeTest extends JFrame {
private static int i = 1; private DefaultMutableTreeNode root;
private DefaultTreeModel treeModel;
private JTree tree; public JtreeTest() {
root = new DefaultMutableTreeNode("默认根"); // 利用根节点创建TreeModel
this.treeModel = new DefaultTreeModel(root); tree = new JTree(treeModel);
tree.setRootVisible(false); // 设置树的系统根不可见 DefaultMutableTreeNode node0 = new DefaultMutableTreeNode("文件0");
treeModel.insertNodeInto(node0, root, root.getChildCount());
tree.expandRow(0); JScrollPane treeScrollPane = new JScrollPane(tree);
this.getContentPane().add(treeScrollPane, BorderLayout.SOUTH); JButton btn = new JButton("增加树枝");
btn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String temp = "文件" + i++;
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(temp); JtreeTest.this.treeModel.insertNodeInto(node1, root, root.getChildCount()); JtreeTest.this.tree.updateUI(); System.out.println(temp);
}
});
this.getContentPane().add(btn, BorderLayout.NORTH); this.setTitle("树形菜单");
this.pack();
this.setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} public static void main(String[] args) {
new JtreeTest();
}
}
测试没问题:
版主,我又去运行到看了,还是出不来,请问下可能会是什么原因引起的呢?JDK1.7.0.25 会不会是这个引起的?