Hallo,
ich arbeite gerade an einem einfachen Loginsystem und habe Probleme, wenn es darum geht, ein Frame zu schließen. Ich möchte zum Beispiel - sobald man sich erfolgreich registriert hat - dass sich der Frame Register schließt. Ich weiß allerdings nicht, wie man konkret auf das Frame zugreifen kann.
Hier ein Codeausschnitt:
public void register() {
// RegisterFrame
final JFrame register = new JFrame("Register");
JPanel registerpanel = new JPanel();
registerpanel.setLayout(null);
register.setSize(350, 230);
register.setLocation(600, 200);
register.setTitle("JWordPuzzle V1.0 - Become a member!");
register_label = new JLabel("<html>Please"
+ " register to play the Word Puzzle Game.</html>");
reg_user_label = new JLabel("Username:");
reg_pw_label = new JLabel("Password:");
verify_label = new JLabel("Verify Password:");
reg_pw = new JPasswordField(20);
reg_pw_verify = new JPasswordField(20);
registerbutton = new JButton("Register");
registerbutton.addActionListener(this);
reg_user = new JTextField(20);
register.add(registerpanel);
register_label.setBounds(10, 1, 500, 50);
registerpanel.add(register_label);
reg_user_label.setBounds(10, 50, 80, 25);
registerpanel.add(reg_user_label);
reg_user.setBounds(120, 50, 160, 25);
registerpanel.add(reg_user);
reg_pw_label.setBounds(10, 80, 80, 25);
registerpanel.add(reg_pw_label);
reg_pw.setBounds(120, 80, 160, 25);
registerpanel.add(reg_pw);
verify_label.setBounds(10, 110, 100, 25);
registerpanel.add(verify_label);
reg_pw_verify.setBounds(120, 110, 160, 25);
registerpanel.add(reg_pw_verify);
registerbutton.setBounds(120, 150, 110, 30);
registerpanel.add(registerbutton);
register.setVisible(true);
}
.......
if (ae.getSource() == this.registerbutton) {
try {
fdusername.setText("");
fdpassword.setText("");
String username;
String userr;
userr = (reg_user.getText());
username = userr.toLowerCase();
char[] reg_pass = reg_pw.getPassword();
String password = new String(reg_pass);
char[] reg_pass2 = reg_pw_verify.getPassword();
String verify = new String(reg_pass2);
if (!obj.checkExist(file_name, username)) {
if (!checkEmpty(username, password)
&& verifyPassword(password, verify)
&& checkName(username) && isLeadingLetter(username)) {
String create_account = username + " " + password
+ " 0 0";
obj.saveToFile(file_name, create_account);
showMessage("The account is created.");
obj.saveToFile(file_online, username);
game();
dispose();
}
} else {
showMessage("The account already exists.");
}
} catch (RemoteException ex) {
Logger.getLogger(JWordPuzzleClientImp.class.getName()).log(
Level.SEVERE, null, ex);
}
}
.....
Der dispose(); Befehl klappt nicht, da man nicht weiß, welcher Frame gemeint ist, oder? Könnt ihr mir helfen? Wie kann ich auf den Frame register hinweisen?
Danke und Grüße