rpsv
@rpsv
делай либо хорошо, либо никак

Почему не работает CellEditorListener?

Здрасте! Собственно вопрос думаю понятен.

Листинг
/**
     * Creates new form mainFrame
     */
    public mainFrame() {
        initComponents();
        initCellEditor();
    }
    
    /**
     * Инициализация обработчика редактирования ячейки
     */
    private void initCellEditor() {
        javax.swing.DefaultCellEditor editor = new javax.swing.DefaultCellEditor(new javax.swing.JTextField());
        editor.addCellEditorListener(new CellEditorListener() {
            @Override
            public void editingStopped(ChangeEvent e) {
                int indexCol = tableData.getSelectedColumn();
                int indexRow = tableData.getSelectedRow();
                double value = Double.parseDouble(tableData.getValueAt(indexRow, indexCol).toString());
                javax.swing.JOptionPane.showMessageDialog(rootPane, "Выбрана ячейка по значением: " + value);
            }

            @Override
            public void editingCanceled(ChangeEvent e) {
                // pass
            }
        });
        this.tableData.setCellEditor(editor);
    }


При редактировании ячейки, код даже не проходит в метод editingStopped.

Как еще можно после редактирования ячейки обработку прикрутить, кроме перегрузки setValueAt, а то мне кажется не совсем хорошо лазить в подобные функции, или как вы думаете?
  • Вопрос задан
  • 2970 просмотров
Решения вопроса 1
А что мешает отлавливать изменения в TableModel с помощью TableModelListener?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы