我在 addListSelectionListener 中有一个确认对话框。当我在表中选择一行时会触发此事件。然后出现确认对话框,在我单击"is"或“否”后,它继续出现!
这是我的代码。
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!");
}
}
}
});
}
最佳答案
确保 ListSelectionListener
中的值没有调整
public void valueChanged(ListSelectionEvent e) {
if(!e.getValueAdjusting()) {
...
}
}
关于java - 确认对话框多次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18421058/