如何用 Java 使 JTree 可编辑?
要使 JTree 在 Java 中可编辑,可以使用 TreeCellEditor 类。由此,将 setEditable() 方法设为真 −
TreeCellEditor editor = new DefaultCellEditor(textField); tree.setEditable(true); tree.setCellEditor(editor);
以上代码将使树可编辑。以下是一个在 Java 中使 JTree 可编辑的示例 −
示例
package my;
import javax.swing.DefaultCellEditor;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.TreeCellEditor;
public class SwingDemo {
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("Demo");
DefaultMutableTreeNode node = new DefaultMutableTreeNode("Products");
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode("Clothing");
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode("Electronics");
DefaultMutableTreeNode node3 = new DefaultMutableTreeNode("Home Decor");
DefaultMutableTreeNode node4 = new DefaultMutableTreeNode("Furniture");
node.add(node1);
node.add(node2);
node.add(node3);
node.add(node4);
DefaultMutableTreeNode one = new DefaultMutableTreeNode("Shirt");
DefaultMutableTreeNode two = new DefaultMutableTreeNode("Trousers");
DefaultMutableTreeNode three = new DefaultMutableTreeNode("Jeans");
DefaultMutableTreeNode four = new DefaultMutableTreeNode("Mobiles");
DefaultMutableTreeNode five = new DefaultMutableTreeNode("Camera");
DefaultMutableTreeNode six = new DefaultMutableTreeNode("Tablet");
DefaultMutableTreeNode seven = new DefaultMutableTreeNode("Paintings");
DefaultMutableTreeNode eight = new DefaultMutableTreeNode("Showpieces");
DefaultMutableTreeNode nine = new DefaultMutableTreeNode("Wardrobes");
DefaultMutableTreeNode ten = new DefaultMutableTreeNode("Bean Bags");
node1.add(one);
node1.add(two);
node1.add(three);
node2.add(four);
node2.add(five);
node2.add(six);
node3.add(seven);
node3.add(eight);
node4.add(nine);
node4.add(ten);
JTree tree = new JTree(node);
for (int i = 0; i < tree.getRowCount(); i++) {
tree.expandRow(i);
}
tree.putClientProperty("JTree.lineStyle", "Angled");
JTextField textField = new JTextField();
TreeCellEditor editor = new DefaultCellEditor(textField);
tree.setEditable(true);
tree.setCellEditor(editor);
tree.setRowHeight(25);
frame.add(tree);
frame.setSize(600,450);
frame.setVisible(true);
}
}这将生成以下输出 −

另一个屏幕截图显示我们可以轻松编辑任何节点 −

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP