Панель JOption, проверяющая, был ли введен какой-либо введенный текст, если кнопка ОК не работает - PullRequest
1 голос
/ 22 ноября 2010

в панели 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 ]

1 голос
/ 22 ноября 2010
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...
                }
            }
        });
1 голос
/ 22 ноября 2010

Установив для свойства события программы прослушивания значение true, вы можете «поймать» щелчок и предотвратить закрытие диалога. Просто проверьте, является ли TextArea пустым в событии click, и если да, установите для handled значение true.

Далее вы должны предоставить пользователю информацию, какое поле необходимо заполнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...