Georg: Wie JFrame schließen?

Beitrag lesen

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