Hallo liebes Forum!
Und zwar, habe ich einen Loginbildschirm, aus dem Leereingaben mit der Methode checkForEmptyInputs herausgefiltert werden sollen.
Wenn eine Leereingabe erfolgt ist, springt ein JFrame auf, welches eine Warnung(JLabel) und 2 Buttons besitzt. Die Buttons haben jeweils einen ActionListener. Der Abbrechen-Button beendet das Programm und beim Ok-Button soll sich die Warnung schließen und es soll zum Login-Bildschirm gesprungen werden. Jetzt zu meinem Problem:
1. Wenn ich in der Warnung Ok klicke schließt sich die Warnung nicht, der Login-Bildschirm wird nur drübergelegt.
2.Und jetzt wird's schwer zu beschreiben. Wenn ich im Login-Bildschirm eine Leereingabe mache, springt ja die Warnung auf. Wenn ich dann in der Warnung Ok klicke, springt, wie in 1. beschrieben, der Login-Bildschirm auf, aber, wenn ich in diesem Loginbildschirm nun meine Eingaben mache, dann springt es nicht zum nächsten Fenster, dessen Code ich hier nicht gepostet habe. Sondern wieder zur Warnung, welche ich in dieser Situation nicht mal mehr mit dem Abbrechen-Button schließen kann.
Ich bin schon am Haare raufen, aber irgendwie will es nicht werden.
Ich hoffe einer von euch kann mir helfen.
Danke im Voraus!
Und zwar, habe ich einen Loginbildschirm, aus dem Leereingaben mit der Methode checkForEmptyInputs herausgefiltert werden sollen.
Java:
public void buildLoginWindow(HauptGui hauptGui) {
// login Pop-up
JTextField name = new JTextField();
JPasswordField pwd = new JPasswordField();
Object[] message = { "Bitte Name und Passwort eingeben!\n", name, pwd };
int login = JOptionPane.showConfirmDialog(null, message,
"Database-Manager 3000 - Login", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
checkForEmptyInputs(hauptGui, name, pwd);
}
public void checkForEmptyInputs(HauptGui hauptGui, JTextField name,
JPasswordField pwd) {
if (name.getText().length() == 0 || pwd.getPassword().length == 0) {
buildWarningFrame(hauptGui);
}
}
1. Wenn ich in der Warnung Ok klicke schließt sich die Warnung nicht, der Login-Bildschirm wird nur drübergelegt.
2.Und jetzt wird's schwer zu beschreiben. Wenn ich im Login-Bildschirm eine Leereingabe mache, springt ja die Warnung auf. Wenn ich dann in der Warnung Ok klicke, springt, wie in 1. beschrieben, der Login-Bildschirm auf, aber, wenn ich in diesem Loginbildschirm nun meine Eingaben mache, dann springt es nicht zum nächsten Fenster, dessen Code ich hier nicht gepostet habe. Sondern wieder zur Warnung, welche ich in dieser Situation nicht mal mehr mit dem Abbrechen-Button schließen kann.
Java:
public void buildWarningFrame(final HauptGui hauptGui) {
hauptGui.frame = new JFrame("Database-Manager 3000");
hauptGui.frame.setBounds(100, 100, 300, 150);
hauptGui.frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
hauptGui.frame.getContentPane().setLayout(null);
hauptGui.frame.setLocationRelativeTo(null);
JLabel lblZugriffVerweigert = new JLabel("Zugriff verweigert");
lblZugriffVerweigert.setHorizontalAlignment(SwingConstants.CENTER);
lblZugriffVerweigert.setBounds(10, 11, 264, 56);
hauptGui.frame.getContentPane().add(lblZugriffVerweigert);
JButton btnOk = new JButton("Ok");
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
buildLoginWindow(hauptGui);
hauptGui.frame.dispose();
}
});
btnOk.setBounds(10, 78, 89, 23);
hauptGui.frame.getContentPane().add(btnOk);
JButton btnAbbrechen = new JButton("Abbrechen");
btnAbbrechen.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
hauptGui.frame.dispose();
}
});
btnAbbrechen.setBounds(174, 78, 100, 23);
hauptGui.frame.getContentPane().add(btnAbbrechen);
}
Ich bin schon am Haare raufen, aber irgendwie will es nicht werden.
Ich hoffe einer von euch kann mir helfen.
Danke im Voraus!