我创建了一个名为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。
改变showXXX(...)改变了面板的输入和内容,但并不能阻止退出按钮被看作是按钮按下?
您需要检查从 showXXX(….)
方法,这个值会告诉你哪个按钮被点击了。这个值会告诉你哪个按钮被点击了。
类似于:
int result = JOptionPane.showConfirmDialog(…);
if(result == JOptionPane.YES_OPTION)
{
// do your processing here
}