📄 trees.java
字号:
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={
{"Colors","Red","Blue","Green"},
{"Flavors","Tart","Sweet","Bland"},
{"Length","Short","Medium","Long"},
{"Volume","High","Medium","Low"},
{"Temperature","High","Medium","Low"},
{"Intensity","High","Medium","Low"},
};
static int i=0;
DefaultMutableTreeNode root,child,chosen;
JTree tree;
DefaultTreeModel model;
public Trees(){
setLayout(new BorderLayout());
root=new DefaultMutableTreeNode("root");
tree=new JTree(root);
add(new JScrollPane(tree));
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 jf=new JFrame("JTree demo");
jf.getContentPane().add(new Trees(),BorderLayout.CENTER);
jf.setSize(200,500);
jf.setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -