package test;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.SpringLayout;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
public class TreeMenu2 extends JFrame {
private JTextField textField;
private JTree tree;
private SpringLayout springLayout;
/**
* Launch the application
* @param args
*/
public static void main(String args[]) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TreeMenu2 frame = new TreeMenu2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame
*/
public TreeMenu2() {
super();
this.setTitle("维护企业架构");
springLayout = new SpringLayout();
getContentPane().setLayout(springLayout);
setBounds(100, 100, 313, 485);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tree = new JTree();
//getContentPane().add(tree);
add(tree);
springLayout.putConstraint(SpringLayout.SOUTH, tree, 310, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.NORTH, tree, 25, SpringLayout.NORTH, getContentPane());
springLayout.putConstraint(SpringLayout.EAST, tree, 255, SpringLayout.WEST, getContentPane());
springLayout.putConstraint(SpringLayout.WEST, tree, 50, SpringLayout.WEST, getContentPane());
final JLabel label = new JLabel();
label.setText("名称:");
getContentPane().add(label);
springLayout.putConstraint(SpringLayout.WEST, label, 5, SpringLayout.WEST, getContentPane());
textField = new JTextField();
getContentPane().add(textField);
springLayout.putConstraint(SpringLayout.NORTH, textField, 375, SpringLayout.NORTH, getContentPane());
final JButton btnadd = new JButton();
btnadd.setText("添加");
btnadd.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
DefaultMutableTreeNode addnode=new DefaultMutableTreeNode(textField.getText());
TreePath selpath=tree.getSelectionPath();
DefaultMutableTreeNode parentnode=(DefaultMutableTreeNode) selpath.getLastPathComponent();
DefaultTreeModel treeModel=new DefaultTreeModel(addnode);
treeModel.insertNodeInto(addnode, parentnode, parentnode.getChildCount());
TreePath path=selpath.pathByAddingChild(addnode);
if(!tree.isVisible(path)){
tree.makeVisible(path);
}
}
});
getContentPane().add(btnadd);
springLayout.putConstraint(SpringLayout.EAST, btnadd, 260, SpringLayout.WEST, getContentPane());
springLayout.putConstraint(SpringLayout.WEST, btnadd, 190, SpringLayout.WEST, getContentPane());
springLayout.putConstraint(SpringLayout.SOUTH, btnadd, 355, SpringLayout.NORTH, getContentPane());
final JButton btndel = new JButton();
btndel.setText("删除");
btndel.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
DefaultMutableTreeNode delnode=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent();//选中欲删除的节点
if(!delnode.isRoot()){
DefaultMutableTreeNode nextselnode=delnode.getNextSibling();
if(nextselnode==null){
nextselnode=(DefaultMutableTreeNode) delnode.getParent();
}
DefaultTreeModel deltreeModel=new DefaultTreeModel(delnode);
deltreeModel.removeNodeFromParent(delnode);
tree.setSelectionPath(new TreePath(nextselnode.getPath()));
}
}
});
getContentPane().add(btndel);
springLayout.putConstraint(SpringLayout.EAST, textField, -5, SpringLayout.WEST, btndel);
springLayout.putConstraint(SpringLayout.WEST, textField, 5, SpringLayout.EAST, label);
springLayout.putConstraint(SpringLayout.SOUTH, label, 0, SpringLayout.SOUTH, btndel);
springLayout.putConstraint(SpringLayout.EAST, btndel, 0, SpringLayout.EAST, btnadd);
springLayout.putConstraint(SpringLayout.WEST, btndel, 0, SpringLayout.WEST, btnadd);
springLayout.putConstraint(SpringLayout.SOUTH, btndel, 395, SpringLayout.NORTH, getContentPane());
final JButton btnup = new JButton();
btnup.setText("修改");
btnup.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
TreePath selpath=tree.getSelectionPath();
DefaultMutableTreeNode upnode=(DefaultMutableTreeNode) selpath.getLastPathComponent();
upnode.setUserObject(textField.getText());
DefaultTreeModel uptreeModel=new DefaultTreeModel(upnode);
uptreeModel.nodeChanged(upnode);
tree.setSelectionPath(selpath);
}
});
getContentPane().add(btnup);
springLayout.putConstraint(SpringLayout.EAST, btnup, 75, SpringLayout.EAST, textField);
springLayout.putConstraint(SpringLayout.WEST, btnup, 5, SpringLayout.EAST, textField);
springLayout.putConstraint(SpringLayout.NORTH, btnup, 405, SpringLayout.NORTH, getContentPane());
//
}
}
- 1
- 2
前往页