Сообщение слушателя действия JOptionPane при выходе - PullRequest
0 голосов
/ 22 апреля 2020

Я создал кнопку с именем addSupplier, примененную к фрейму, затем я создал прослушиватель действий, поэтому после нажатия кнопки addSupplier будет создана панель JOptionPane с панелью, прикрепленной к JTextFields.

        addSupplier.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ae) {
            JOptionPane.showMessageDialog(null,addSupplierPanel,"Add new supplier", JOptionPane.PLAIN_MESSAGE);
            suppNameInsert = suppNameIn.getText();
            System.out.println(suppNameInsert);
        }
    });

Цель этого JOptionPane состоит в том, чтобы добавить информацию в JTextFields для последующей обработки и отправки в базу данных MySQL, однако, потому что JOptionPane открывается в слушателе действия, если я нажимаю Okay ИЛИ кнопку «X», она будет печатать все, что угодно. находится в JTextField.

Я хочу, чтобы это происходило только тогда, когда я нажимаю 'OKAY', но я предполагаю, что мне придется go о создании JOptionPane отдельным способом?

1 Ответ

1 голос
/ 22 апреля 2020

Изменение showXXX (...) изменяет ввод и содержимое панели, но не мешает кнопке выхода выйти из режима нажатия кнопки?

Вам нужно проверить параметр int, который был возвращен методом showXXX(….). Это значение скажет вам, какая кнопка была нажата.

Что-то вроде:

int result = JOptionPane.showConfirmDialog(…);

if(result == JOptionPane.YES_OPTION)
{
    // do your processing here
}
...