10

我有我自己的对话框弹出两个文本字段,两个 JLabel 和一个“ok” JButton。弹出是一个登录窗口。窗口完美运行我只想知道如何添加“取消”JButton,以便用户能够取消登录。

这是我的窗口代码:

public Hashtable<String, String> login(JFrame frame) {
    Hashtable<String, String> logininformation = new Hashtable<String, String>();

    JPanel panel = new JPanel(new BorderLayout(5, 5));

    JPanel label = new JPanel(new GridLayout(0, 1, 2, 2));
    label.add(new JLabel("E-Mail", SwingConstants.RIGHT));
    label.add(new JLabel("Password", SwingConstants.RIGHT));
    panel.add(label, BorderLayout.WEST);

    JPanel controls = new JPanel(new GridLayout(0, 1, 2, 2));
    JTextField username = new JTextField();
    controls.add(username);
    JPasswordField password = new JPasswordField();
    controls.add(password);
    panel.add(controls, BorderLayout.CENTER);

    JOptionPane.showMessageDialog(frame, panel, "login", JOptionPane.QUESTION_MESSAGE);

    logininformation.put("user", username.getText());
    logininformation.put("pass", new String(password.getPassword()));
    return logininformation;
}

如果需要,这里是登录窗口的截图:

登录弹出

如果您单击右上角的“x”,它也会关闭。但我想要一个取消 JButton,如果它很容易的话。

  • 谢谢你的帮助
4

3 回答 3

8

您需要使用OK,CANCEL类型确认对话框。

JOptionPane.showConfirmDialog(
            frame, panel, "login", JOptionPane.OK_CANCEL_OPTION);
于 2013-08-23T06:06:25.183 回答
0

dispose()当您单击按钮时,您可以使用JFrame 上的函数来关闭框架。像这样

jButton1.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e){
        frameName.dispose();
    }
});
于 2013-08-23T05:52:46.713 回答
0

您需要使用JOptionPage.showOptionDialog()可以添加按钮

于 2013-08-23T05:58:13.960 回答