相关疑难解决方法(0)

JOptionPane.showMessageDialog等到单击确定?

这可能是一个非常简单的事情,我忽略了,但我似乎无法弄明白.

我有以下更新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)

java swing jtable keylistener joptionpane

5
推荐指数
2
解决办法
4万
查看次数

标签 统计

java ×1

joptionpane ×1

jtable ×1

keylistener ×1

swing ×1