TreeCellEditor без getCellEditorValue - PullRequest
       11

TreeCellEditor без getCellEditorValue

0 голосов
/ 03 октября 2018

Я редактирую несколько узлов с TreeCellEditor на моем JTree.

Я передаю все выбранные узлы редактору в коллекции.

  DeviceEditor deviceEditor = new DeviceEditor(nodes);
  itemTree.setCellEditor(deviceEditor);

Я сравниваю все узлы и список "Несколько значений" в форме редактора, где присутствуют различные значения.

В форме есть кнопка «Обновить» для запуска функции JTree.stopCellEditing, показанной здесь:

    @Override
public boolean stopCellEditing() {
    try {
        DeviceEditor.UPDATE_DEVICES(nodes, multiValueDevice);
        return true;
    } catch (IPConverter.InvalidIPException ex) {
        Exceptions.printStackTrace(ex);
        return false;
    }

Все функции редактирования ячеек работают правильно, но у меня возникла проблема с JTree.stopEditing (), показанный здесь:

                    deviceEditor.addActionListener(new ActionListener() {
                    @Override
                    public void actionPerformed(ActionEvent ae) {
                        System.out.println("ACTION COMMAND= " + ae.getActionCommand());
                        if ("Update".equals(ae.getActionCommand())) {
                            //get the Device From the editor.
                            //update all the nodes' userObjects to the values of the editor except the ones with <Multiple Values>
                            //stopEditing expects an Object from DeviceEditor. We need a way to stopEditing without providing an object. 
                            itemTree.stopEditing(); //update the nodes

                        }
                        if ("Cancel".equals(ae.getActionCommand())) {
                            itemTree.cancelEditing();
                        }
                    }
                });

itemTree.stopEditing, кажется, вызывает getCellEditorValue из TreeCellEditor.У меня нет ничего, чтобы предоставить здесь, так как я уже отредактировал все узлы.

Что нужно сделать здесь, чтобы закрыть редактор?

...