JOptionPane动作监听器在退出时的贴图

问题描述 投票:0回答:1

我创建了一个名为addSupplier的按钮,应用于一个框架,然后我创建了一个动作监听器,一旦addSupplier按钮被按下,它将创建一个JOptionPane,该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'的时候发生这种情况,但是我想我必须用另外一种方式来生成JOptionPane。

java swing joptionpane
1个回答
1
投票

改变showXXX(...)改变了面板的输入和内容,但并不能阻止退出按钮被看作是按钮按下?

您需要检查从 showXXX(….) 方法,这个值会告诉你哪个按钮被点击了。这个值会告诉你哪个按钮被点击了。

类似于:

int result = JOptionPane.showConfirmDialog(…);

if(result == JOptionPane.YES_OPTION)
{
    // do your processing here
}
© www.soinside.com 2019 - 2024. All rights reserved.