这可能是一个非常简单的事情,我忽略了,但我似乎无法弄明白.
我有以下更新JTable的方法:
class TableModel extends AbstractTableModel {
public void updateTable() {
try {
// update table here
...
} catch (NullPointerException npe) {
isOpenDialog = true;
JOptionPane.showMessageDialog(null, "No active shares found on this IP!");
isOpenDialog = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我不希望isOpenDialog在按下消息对话框上的OK按钮之前将boolean设置为false,因为如果用户按下enter键,它将激活KeyListener文本字段上的事件并且如果设置了它将再次触发整个代码块到false.
KeyListener代码的一部分如下所示:
public class KeyReleased implements KeyListener {
...
@Override
public void keyReleased(KeyEvent ke) {
if(txtIPField.getText().matches(IPADDRESS_PATTERN)) {
validIP = true;
} else {
validIP = false;
}
if (ke.getKeyCode() == KeyEvent.VK_ENTER) {
if (validIP …Run Code Online (Sandbox Code Playgroud)