0

addListSelectionListener 内に確認ダイアログがあります。これは、テーブル内の行を選択すると発生します。次に、確認ダイアログが表示され、[はい] または [いいえ] をクリックした後も表示され続けます。

これは私のコードです。

public Reference() {
    initComponents();
    fillTable();
    jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(ListSelectionEvent e) {
            int prompt = JOptionPane.showConfirmDialog(null, "Are you sure you want to Check Out this item?", "Warning", JOptionPane.YES_NO_OPTION);
            if (prompt == 0) {
                String accessNo = jTable1.getValueAt(jTable1.getSelectedRow(), 0).toString();
                String query = "delete from reference where accessNo=" + accessNo + "";
                if (DB.executeNonQuery(query) > 0) {
                    JOptionPane.showMessageDialog(null, "Check out Successfull!");
                    fillTable();
                } else {
                    JOptionPane.showMessageDialog(null, "Check out Failed!");
                }
            }
        }
    });
}
4

1 に答える 1

2

で値が調整されていないことを確認します。ListSelectionListener

public void valueChanged(ListSelectionEvent e) {
   if(!e.getValueAdjusting()) {
      ...
   }
}   

参照:リスト選択リスナーの書き方

于 2013-08-24T17:14:24.030 に答える