3

JTable からの行の追加/削除後に発生するイベントはありますか?

4

2 に答える 2

14

テーブル自体にはありませんがTableModel、モデルが変更されたときに適切なイベントを発生させる責任があります。

に登録できますTableModelListenerTableModel

JTable table = new JTable();
table.getModel().addTableModelListener(new TableModelListener() {

        @Override
        public void tableChanged(TableModelEvent e) {
            if (e.getType()==TableModelEvent.INSERT||e.getType()==TableModelEvent.DELETE) {
                // Do something
            }
        }
    });
于 2013-03-21T12:32:35.547 に答える
2

はい、行が追加または削除されるたびにTableModelEventが発生します。

TableModelListenerを作成し、addTableModelListenerを使用してそれを TableModel に追加する必要があります。

独自の TableModel を実装した場合は、行を追加または削除した後にfireTableRowsDeleted(int firstRow, int lastRow)orを呼び出してください。fireTableRowsInserted(int firstRow, int lastRow)

例えば:

theTable.getModel().addTableModelListner(yourTableListener);

TableModelListeneryourTableListenerインターフェイスを実装するクラスのインスタンスです。

于 2013-03-21T12:39:40.837 に答える