📄 simpletree.java
字号:
import java.util.Enumeration;
import java.awt.FlowLayout;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.tree.*;
import javax.swing.UIManager.*;
import javax.swing.event.*;
public class SimpleTree
extends JFrame
implements ActionListener ,TreeSelectionListener{
private DefaultMutableTreeNode root =
new DefaultMutableTreeNode("Web Sites");
private JTree tree = new JTree(root);
private JButton expand = new JButton("Expand");
private JButton collapse = new JButton("Collapse");
private JButton quit = new JButton("Quit");
private JLabel status = new JLabel("Tree selection status");
private SimpleTree() {
super("A Simple Tree");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
createTreeStructure();
JPanel buttons = new JPanel(new FlowLayout());
buttons.add(collapse);
collapse.addActionListener(this);
buttons.add(expand);
expand.addActionListener(this);
buttons.add(quit);
quit.addActionListener(this);
getContentPane().add("Center", new JScrollPane(tree));
getContentPane().add("South", buttons);
getContentPane().add("North", status);
tree.addTreeSelectionListener(this);
validate();
pack();
setVisible(true);
}
private void createTreeStructure() {
DefaultMutableTreeNode edu =
new DefaultMutableTreeNode("Universities");
DefaultMutableTreeNode com =
new DefaultMutableTreeNode("Search Engines");
root.add(edu);
root.add(com);
edu.add(new DefaultMutableTreeNode("www.whu.edu.cn"));
edu.add(new DefaultMutableTreeNode("www.hust.edu.cn"));
com.add(new DefaultMutableTreeNode("www.sohu.com"));
com.add(new DefaultMutableTreeNode("www.baidu.com"));
}
private void collapseTree() {
/*折叠树的所有分枝*/
for (Enumeration nodes = root.depthFirstEnumeration();
nodes.hasMoreElements(); ) {
DefaultMutableTreeNode node =
(DefaultMutableTreeNode) nodes.nextElement();
tree.collapsePath(new TreePath(node.getPath()));
}
}
private void expandTree() {
/*展开树的所有分枝*/
for (Enumeration nodes = root.breadthFirstEnumeration();
nodes.hasMoreElements(); ) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode) nodes.nextElement();
tree.expandPath(new TreePath(node.getPath()));
}
}
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == expand) {
expandTree();
}
else if (ae.getSource() == collapse) {
collapseTree();
}
else if (ae.getSource() == quit) {
System.exit(0);
}
}
public void valueChanged(TreeSelectionEvent tse) {
Object path[] = tse.getPath().getPath();
String s = path[0].toString();
for (int i = 1; i < path.length; i++) {
s += " – " + path[i].toString();
}
status.setText(s);
}
public static void main(String args[]) {
/*
try {
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception e) {
e.printStackTrace();
}
*/
SimpleTree st = new SimpleTree();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -