📄 jtreedemo.java
字号:
package chapter6.component;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
public class JTreeDemo extends JFrame {
static int i = 0;
DefaultMutableTreeNode root;
DefaultMutableTreeNode child;
DefaultMutableTreeNode chosen;
JTree tree;
DefaultTreeModel model;
String[][] data = { {"体育", "足球", "篮球", "乒乓球"}, {"娱乐", "唱歌", "跳舞", "相声",
"小品"}, {"电视", "长虹", "海尔", "创维"}, {"戏剧", "京剧", "川剧", "越剧"},
{"国家", "中国", "越南", "朝鲜", "德国"}, {"武器", "飞机", "大炮", "坦克"},
};
JTreeDemo() {
Container contentPane = this.getContentPane();
JPanel jPanel1 = new JPanel(new BorderLayout());
root = new DefaultMutableTreeNode("根");
tree = new JTree(root);
jPanel1.add(new JScrollPane(tree), BorderLayout.CENTER);
model = (DefaultTreeModel) tree.getModel();
JButton jButton1 = new JButton("添加结点");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (i < data.length) {
child = new Branch(data[i++]).node();
chosen = (DefaultMutableTreeNode) tree.
getLastSelectedPathComponent();
if (chosen == null) {
chosen = root;
}
model.insertNodeInto(child, chosen, 0);
}
}
});
jButton1.setBackground(Color.blue);
jButton1.setForeground(Color.white);
JPanel jPanel2 = new JPanel();
jPanel2.add(jButton1);
jPanel1.add(jPanel2, BorderLayout.SOUTH);
contentPane.add(jPanel1);
this.setTitle("JTreeDemo");
this.setSize(300, 500);
this.setLocation(400, 400);
this.setVisible(true);
}
class Branch {
DefaultMutableTreeNode r;
public Branch(String[] data) {
r = new DefaultMutableTreeNode(data[0]);
for (int i = 1; i < data.length; i++) {
r.add(new DefaultMutableTreeNode(data[i]));
}
}
public DefaultMutableTreeNode node() {
return r;
}
}
public static void main(String args[]) {
JTreeDemo test = new JTreeDemo();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -