小编接着上一篇对JTree在进行简单地介绍,下面对JTree进行简单的添加和删除选项进行展示。
在这里插入代码片
import java.*;
import java.awt.*;
import java.awt.event.*;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
public class Main1 extends JApplet{
private JTree tree;
public Main1() {
tree=new JTree();
add(tree);
DefaultTreeCellRenderer cell=(DefaultTreeCellRenderer) tree.getCellRenderer();//绘制器自定义
cell.setBackgroundNonSelectionColor(Color.RED);
cell.setOpenIcon(new ImageIcon("D:\\java1\\程序\\ai\\程序\\src\\lianxi\\a.jpg"));
tree.setCellEditor(new DefaultTreeCellEditor(tree,cell,new DefaultCellEditor(new JTextField())));//编译器自定义
JButton button1=new JButton("删除文件");
JButton button=new JButton(new AbstractAction("添加文件"){
@Override
public void actionPerformed(ActionEvent e) {
// TODO 自动生成的方法存根
DefaultMutableTreeNode a1=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
String s=JOptionPane.showInputDialog("添加文件的名称");
a1.add(new DefaultMutableTreeNode("s"));
((DefaultTreeModel)(tree.getModel())).reload();
}});
JPanel pane=new JPanel();
pane.add(button);
pane.add(button1);
add(pane,BorderLayout.SOUTH);
button1.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO 自动生成的方法存根
DefaultMutableTreeNode a1=(DefaultMutableTreeNode) tree.getLastSelectedPathComponent();
a1.removeFromParent();
((DefaultTreeModel)(tree.getModel())).reload();
}});
tree.setEditable(true);
}
}