JOptionpane检查是否输入了一些输入文本,如果没有OK按钮不起作用

时间:2010-11-22 08:35:45

标签: java swing

在JOption窗格中的

我有一些JTextArea,其中用户必须输入一些文本。然后如果用户单击OK代码执行。但我希望如果没有输入文本,代码就不会执行。

我正在使用鼠标监听器来检查确定按钮但我不知道如果输入文本没有被激活则如何重新打开JOption,如果文本被激活,则让他进入下一步。

我的代码:

    case JOptionPane.YES_OPTION:  {

        String text= op.getText();
        if (text.equals("")) {
            // how to prevent closing joptionpane!
        } else {
            // my code
            break;
        }
    }

2 个答案:

答案 0 :(得分:1)

通过将侦听器programmticaly的event属性设置为true,可以“捕获”单击并阻止对话框关闭。只需检查ClickA事件中TextArea是否为空,如果是,则将handle设置为true。

此外,您应该在之后向用户提供信息,需要填写哪个字段。

答案 1 :(得分:1)

JTextArea txt = new JTextArea();
JButton ok = new JButton("OK");

ok.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                if (txt.getText().toString().trim().length() == 0 ) {
                }
                else {
                    //your action...
                }
            }
        });