Перейти к контенту

Как сделать JTree редактируемым в Java?

Чтобы сделать JTree редактируемым в Java, используйте класс TreeCellEditor. После этого установите метод setEditable() в true —

TreeCellEditor editor = new DefaultCellEditor(textField);
tree.setEditable(true);
tree.setCellEditor(editor);

Вышеизложенное сделает дерево доступным для редактирования.

 

Пример

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);
   }
}

Это даст следующий результат —

Еще один скриншот, на котором мы можем легко редактировать любой из узлов —

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

Добавить комментарий

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)