在编辑JTable之后获取选定的行和列

问题描述 投票:0回答:1

我想在编辑表格单元格后执行操作。但是,在我使用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);
}
java swing jtable actionlistener
1个回答
0
投票

((TableModel)e.getSource()).getValueAte.getFirstRow/LastRow之间的行。

© www.soinside.com 2019 - 2024. All rights reserved.