у меня есть таблица в jinternalframe, которая работает так, как если бы пользователь нажимал, то в режиме редактирования после остановки предыдущего редактирования выбирается ввод следующей ячейки, если это последний столбец, то выбор переходит к следующей строке со столбцом №-1, но проблема в том, что когда я загружаю класс, он работает с первой строкой во второй строке, он не работает. Нужна помощь, я не могу найти в google правильную информацию о редакторе ячеек, мне нужно работать только с editingstop и редактировать метод отмены ..
table.getDefaultEditor(String.class).addCellEditorListener(new CellEditorListener() {
@Override
public void editingStopped(ChangeEvent e) {
if (table.getSelectedColumn() == 1
&& table.getValueAt(table.getSelectedRow(), 1).toString().isEmpty()) {
main = new MainWindow();
main.itemdata.setSize(getDesktopPane().getWidth(), getDesktopPane().getHeight());
main.itemdata.setLocation(0, 0);
main.itemdata.show();
getDesktopPane().add(main.itemdata);
main.itemdata.moveToFront();
main.itemdata.searchField.grabFocus();
main.itemdata.searchField.selectAll();
}
else if (table.getSelectedColumn() == 5) {
table.changeSelection(table.getSelectedRow(), 7, false, false);
table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
}
else if (table.getSelectedColumn() == 7) {
table.changeSelection(table.getSelectedRow(), 8, false, false);
table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
}
else if (table.getSelectedColumn() == 8) {
table.changeSelection(table.getSelectedRow() + 1, 1, false, false);
table.editCellAt(table.getSelectedRow(), table.getSelectedColumn());
}
}
@Override
public void editingCanceled(ChangeEvent e) {
System.out.println("Editing Cancelled");
}
});