Получить выбранную строку и столбец ПОСЛЕ редактирования JTable - PullRequest
0 голосов
/ 09 января 2020

Я хотел бы выполнить действие после редактирования ячейки таблицы. Однако после того, как я использовал tablechanged и напечатал исходную ячейку, произошла ошибка. Затем мне удалось обнаружить, что ошибка произошла из-за того, что e.source не является экземпляром table, а вместо этого DefaultTableModel. Как получить выбранную строку и столбец ПОСЛЕ редактирования?

Вот Пример кода:

public static void main(String[] args) {
    JFrame main = new JFrame();

    JTable table = new JTable(6, 4);
    table.setSize(300, 300);

    table.getModel().addTableModelListener(new TableModelListener() {

        public void tableChanged(TableModelEvent e) {
            Object s = e.getSource();
            //JTable t = (JTable) s;
            //int x = t.getSelectedRow();
            //int y = t.getSelectedColumn();
            //System.out.println("Cell at " + x + "," + y);

            if (s instanceof JTable)
                System.out.println("TABLE");
            else
                System.out.println("Not a table");
        }
    });
    main.add(table);
    main.setSize(300,300);
    main.setLocationRelativeTo(null);
    main.setVisible(true);
    main.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}

1 Ответ

1 голос
/ 09 января 2020

((TableModel)e.getSource()).getValueAt и строки между e.getFirstRow/LastRow.

...