📄 trees.java
字号:
package swingexample;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
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 class Trees extends JPanel {
String[][] data = {
{"体育", "足球", "篮球", "乒乓球"},
{"娱乐", "唱歌", "跳舞", "相声" , "小品"},
{"电视", "长虹", "海尔", "创维"},
{"戏剧", "京剧", "川剧", "越剧"},
{"国家", "中国", "越南", "朝鲜" , "德国"},
{"武器", "飞机", "大炮", "坦克"},
};
static int i = 0;
DefaultMutableTreeNode root;
DefaultMutableTreeNode child;
DefaultMutableTreeNode chosen;
JTree tree;
DefaultTreeModel model;
public Trees() {
setLayout(new BorderLayout());
root = new DefaultMutableTreeNode("根");
tree = new JTree(root);
add(new JScrollPane(tree), BorderLayout.CENTER);
model = (DefaultTreeModel) tree.getModel();
JButton test = new JButton("Press me");
test.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);
}
}
});
test.setBackground(Color.blue);
test.setForeground(Color.white);
JPanel p = new JPanel();
p.add(test);
add(p, BorderLayout.SOUTH);
}
public static void main(String args[]) {
JFrame f = new JFrame();
f.getContentPane().add(new Trees());
f.setSize(200,150);
f.setTitle("树的示例");
f.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -