向JOptionPane按钮添加操作

时间:2013-08-08 18:20:03

标签: actionlistener joptionpane

当用户输入错误的登录信息(错误的密码/用户名)时,我会显示一个错误对话框。

我使用JOptionPane创建了错误框,但“确定”按钮不执行任何操作。

我无法弄清楚如何访问该按钮以在该特定对话框上调用dispose()或其他内容。

这就是我所拥有的:

final JDialog error = new JDialog();
error.setTitle("Login Failed");
final JOptionPane optionPane = new JOptionPane(
        "Invalid Username/Password",
        JOptionPane.INFORMATION_MESSAGE);
error.add(optionPane);

optionPane.actionPerformed(new ActionPerformed() {

    public void actionPerformed(ActionEvent e)
    {
        error.dispose();
    }
});
error.setLocation(100,100);
error.setSize(new Dimension(300,150));
error.setModal(true);
error.setVisible(true);

请帮忙。

3 个答案:

答案 0 :(得分:1)

您可以在API中使用其中一个showXxxDialog()。

http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html

Object[] options = { "OK", "CANCEL" };
JOptionPane.showOptionDialog(null, "Click OK to continue", "Warning",
    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
    null, options, options[0]);

所以对你而言,它会是这样的:

Object[] options = { "OK", "CANCEL" };
JOptionPane optionPane = new JOptionPane();
optionPane.showOptionDialog(null, "Invalid Username/Password", "Warning",
    JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
    null, options, options[0]);

答案 1 :(得分:0)

我的猜测是这样可以解决问题:

JOptionPane.showMessageDialog(null, "You have failed!","Login failed!", JOptionPane.ERROR_MESSAGE);

显示错误对话框,其中包含消息和标题+ 确定按钮。

答案 2 :(得分:0)

您可以像这样访问JOptionPane按钮

int option = JOptionPane.showConfirmDialog(this, "Do you really want to close?");

做你的工作:)。这是代码

int option = JOptionPane.showConfirmDialog(this, "Wrong Username/Password");
if (option == JOptionPane.OK_OPTION){
        JOptionPane.showMessageDialog(this, "You Pressed Yes button!");
    }
else if (option == JOptionPane.CANCEL_OPTION){
        JOptionPane.showMessageDialog(this, "You Pressed Cancel button!");
    }