как различить isCellEditable (), вызываемую из-за щелчка пользователя или перетаскивания столбца - PullRequest
0 голосов
/ 11 января 2011

У меня есть JTable с пользовательским редактором и рендерером.У меня также есть модель таблицы. Я хочу создать специальное окно ввода, когда пользователь щелкает ячейку определенного столбца.Я написал логику в isCellEditable (), но теперь проблема в том, что, когда я щелкаю по любой ячейке этого конкретного столбца, появляется окно ввода, а затем я ввожу свое значение, и теперь все работает нормально.Но теперь, когда я пытаюсь изменить положение столбца путем перетаскивания заголовка, снова вызывается isCellEditable (), и без какого-либо щелчка пользователем по ячейке этого конкретного столбца появляется окно.Пожалуйста, предложите, как провести различие между кликом пользователя и перетаскиванием столбца.

С уважением, Кришна

1 Ответ

0 голосов
/ 12 января 2011

, хотя я не смог найти ответ на свой вопрос, но я решил свою цель. Я написал всю мою логику создания сложных окон в моем классе: CustomCellRenderer, getTableCellEditorComponent (). Мой CustomCellRenderer расширяет DefaultCellEditor. Единственная ошибка, которую я делал, - это вызов setValueAt () модели таблицы в логике. Позже я обнаружил, что у меня есть возможность установить значение компонента в getTableCellEditorComponent () самостоятельно. Позже тот же компонент возвращается.

...