我有自己的Dialog弹出两个文本字段,两个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,如果它很容易的话。
答案 0 :(得分:6)
您需要使用OK
,CANCEL
类型确认对话框。
JOptionPane.showConfirmDialog(
frame, panel, "login", JOptionPane.OK_CANCEL_OPTION);
答案 1 :(得分:0)
单击按钮时,可以在JFrame上使用dispose()
功能关闭框架。喜欢这个
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
frameName.dispose();
}
});
答案 2 :(得分:0)
您需要使用JOptionPage.showOptionDialog()来添加按钮