我正在使用IntelliJ制作GUI,并且选择了选项New-> Gui Form。我已经将其设置为登录屏幕,但是无法在成功登录时丢弃该窗口。我尝试使用extends JFrame
扩展类,然后调用dispose()
,但它似乎没有用。我该怎么办?
预先,谢谢。
代码更新:
public LoginFrame() {
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
char[] pass = password.getPassword();
StringBuilder passwordBuilder = new StringBuilder();
for (char p : pass)
{
passwordBuilder.append(p);
}
String password = passwordBuilder.toString();
//Login.
if(DatabaseHandler.login(username.getText(), password))
{
dispose(); //THIS WINDOW.
}
else
{
JOptionPane.showMessageDialog( null, "Wrong username or password!", "Login failed!", JOptionPane.ERROR_MESSAGE);
}
}
});
}
答案 0 :(得分:0)
您可以尝试以下操作:
if(DatabaseHandler.login(username.getText(), password))
{
Component button = (Component) e.getSource();
SwingUtilities.getWindowAncestor(button).dispose();
}
如果无济于事,请提供一个MCVE,以便我们了解您的代码中有什么问题。
答案 1 :(得分:0)
如果您有扩展JFrame的类,请按照以下说明使用您的类名来处置JFrame
windowClassName.super.dispose();