Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Wie kann ich von der Main-Klasse eine zweite Klasse ausführen? Also z.B. wenn ich auf einen Button klicke soll das aktuelle Fenster geschlossen werden und ein neues geöffnet werden.
Button clicks realisiert man normalerweise mit einem [JAPI]ActionListener[/JAPI].
Und dann musst du eben in der ActionPerformed Methode das eine Fenster schließen und das andere öffnen.
Man beherrst diese Basics nicht, wenn man in der Schule nur mit GUI-Buildern arbeitet.
Ich will aber den 2.Frame in einer eigenen Datei haben. Also ich meinte ich will nachdem ich auf einen Button in dem 1. Frame klicke einen 2. Frame öffnen, der in einer eigenen Datei ist.
Hmm ne so bekomm ich es nicht hin.
Hier meine Login.java:
Java:
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
class NewPassword {
private String pw = "test";
private JFrame loginFrame;
private JPanel contentPane;
private JLabel testLabel;
private boolean pwcorrect;
protected JPasswordField pwField;
public static void main(String[] arg) {
new NewPassword();
}
public NewPassword() {
pwcorrect = false;
loginFrame = new JFrame("Password");
testLabel = new JLabel("Password:");
pwField = new JPasswordField(10);
contentPane = new JPanel();
loginFrame.setSize(300, 200);
loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
loginFrame.add(contentPane);
loginFrame.setVisible(true);
pwField.addActionListener(new PasswordHandler());
pwField.setEchoChar('*');
contentPane.add(testLabel, BorderLayout.WEST);
contentPane.add(pwField, BorderLayout.EAST);
}
class PasswordHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
JPasswordField input = (JPasswordField) (e.getSource());
char[] passwrd = input.getPassword();
String tmpPass = new String(passwrd);
if (pw.equals(tmpPass))
pwcorrect = true;
else
pwcorrect = false;
popUp();
}
private void popUp() {
if (pwcorrect == false) {
JOptionPane.showMessageDialog(loginFrame, "Das Passwort ist Falsch!");
return;
} else {
// test.main(null);
loginFrame.setVisible(false);
testFrame.setVisible(true);
loginFrame.dispose();
loginFrame = null;
}
}
}
}
und hier der 2.Frame in test.java:
Java:
import javax.swing.*;
public class test {
public JFrame testFrame;
public test() {
testFrame = new JFrame("Worked");
testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testFrame.setVisible(true);
}
public static void main(String[] arg) {
new test();
}
}