2013-07-14 14 views
13

Ich habe eine JFrame Klasse und es wurde im Design-Abschnitt auf Netbeans gemacht. Ich versuche einen Login-Button zu machen, der den aktuellen Frame schließt und einen anderen öffnet, kann ich das sowieso machen?Wie Sie eine JFrame-Schaltfläche öffnen, um eine andere JFrame-Klasse in Netbeans zu öffnen?

Ich habe versucht:

JFrame frame = new JFrame(); 

Aber ich will es in der Designabteilung bearbeitet werden!

+2

Siehe [Die Verwendung mehrerer JFrames, gute/schlechte Praxis?] (Http://Stackoverflow.com/a/9554657/418556) –

Antwort

18

Doppelklicken Sie auf den Login-Button in der Netbeans oder die Ereignis-Listener auf Click Event hinzufügen (Action)

btnLogin.addActionListener(new ActionListener() 
{ 
    public void actionPerformed(ActionEvent e) { 
     this.setVisible(false); 
     new FrmMain().setVisible(true); // Main Form to show after the Login Form.. 
    } 
}); 
+4

Es ist besser, 'this.dispose()' zu verwenden, anstatt es wie es unsichtbar zu machen läuft immer noch ohne jede Verwendung. – Azad

+0

Ja, das ist richtig. Aber ich dachte, dass, während das Formular entsorgt wird, es zur Hauptfunktion zurückkehren kann, ohne das FrmMain anzuzeigen. OOPS ... Ich dachte, dass der Code dann gestoppt wird ... –

+1

Großartiger Gedanke :) Der Code wird bis zur Ausführung nicht gestoppt Alle Anweisungen innerhalb der actionPerformed-Methode. – Azad

3

Dieser Link bei mir funktioniert: video

Die Antwort geschrieben, bevor nicht funktioniert für ich bis zum zweiten Klick

Also, was ich tat, ist direkt anrufen:

 new NewForm().setVisible(true); 

     this.dispose();//to close the current jframe 
4
new SecondForm().setVisible(true); 

Sie können entweder setVisible(false) oder dispose() Methode verwenden, um aktuelle Form zu verschwinden.

0
JFrame.setVisible(true); 

Sie können entweder setVisible(false) oder dispose() Methode verwenden, um aktuelle Form zu verschwinden.

Verwandte Themen