1

私はすでに fireDataChanged メソッドを使用しましたが、これがデータベースに接続されているため、何もしないと思います。

    DelBtn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            int selRow = table.getSelectedRow();            
            Object element = table.getValueAt(selRow, 0);
            th = table.getTableHeader();
            tcm = th.getColumnModel();
            Statement statement = null;
            try {
                statement = ResultSetTableModelFactory.connection
                        .createStatement();


                    if (JisSelected == true) {

                        String delete = "DELETE FROM J WHERE JNO = '" + element + "';";
                        statement.executeUpdate(delete);
                    }
                     if (SPJisSelected == true) {

                        String delete = "DELETE FROM SPJ WHERE SNO = '" + element + "';";
                        statement.executeUpdate(delete);

                    }
                System.out.println(element);
            } catch (Exception ex) {
                //ex.printStackTrace();
            }
            model.fireTableDataChanged();
        }
    });

}
4

1 に答える 1

2

のメソッドのActionListener実装でその作業を実行する必要があります。暫定的に、レンダラーやステータス インジケーターなど、アプリケーションに適した方法で操作が保留中であることを示す必要があります。データベース操作が成功した場合は、の実装で を更新します。モデル内以外で呼び出す必要はありません。doInBbackground()SwingWorkerTableModeldone()fireTableDataChanged()

于 2013-11-08T16:17:42.360 に答える