0

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

我使用 a 创建了错误框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);

请帮忙。

4

3 回答 3

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]);
于 2013-08-08T18:31:56.143 回答
0

我的猜测是这会成功:

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

OK显示带有消息和标题 +按钮的错误对话框。

于 2013-08-08T18:38:12.943 回答
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!");
    }
于 2016-09-01T20:21:54.963 回答