Das schließen eines JFrame nachdem ein button geklickt wird Java

Hallo ich Schreibe eine Art Menü für ein Verschlüsselungs-Programm, das ich Schreibe. Ich bin fertig mit dem Kern, und jetzt will ich versuchen, erstellen Sie eine GUI dafür. Hier ist der code für das erste Menü:

package matrix_with_GUI;

import javax.swing.*;
import java.awt.event.* ;
import java.awt.* ;

public class Main_Menu extends JFrame implements ActionListener{
     private JButton action1 = new JButton ("");
     private JButton action2 = new JButton ("");
     private JPanel pane = new JPanel();
     private JLabel lbl;

public static void main(String[] args) {
    Main_Menu main = new Main_Menu();
}

public Main_Menu(){
    super();
    JPanel pane=new JPanel();
    setTitle ("Start Menu") ;
    JFrame frame = new JFrame("");

    setVisible(true);
    setSize (380, 260) ;
    setLocation (450, 200) ;
    frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ;

    action1 = new JButton("Start");
    action2 = new JButton("Exit");
    lbl = new JLabel ("Welcome to the Matrix Encoder/Decoder!!!");
    setLayout(new FlowLayout());

    add (lbl) ;
    add(action1, BorderLayout.CENTER);
    action1.addActionListener (this);
    add(action2, BorderLayout.CENTER);
    action2.addActionListener (this);
}
@Override
public void actionPerformed(ActionEvent event) {
    //TODO Auto-generated method stub
    OptionsMenu x = new OptionsMenu();
    if (event.getSource() == action1)
    {
        System.exit(0);
        x.OptionsMenu();
    }
    else if(event.getSource() == action2){
      System.exit(0);
    }

}

}
Wenn die Start-Taste geklickt wird, wird das neue Menü kommt alles schön und gut, aber das erste Menü geöffnet bleibt. Gibt es eine Möglichkeit das schließen dieses erste Menü, UND öffnen Sie das zweite Menü mit den ersten button klicken? Ich bin sehr neu auf die GUI also die einfachste Lösung wäre sehr hilfreich. Auf einer seitlichen Anmerkung gibt es da eine einfache Möglichkeit zum verschieben der Start-Taste in die nächste Zeile? Dank

  • Überprüfen Sie bitte: the-use-of-multiple-jframes-good-bad-practice
  • System.exit(0); Wird die JVM zu beenden.
  • 1) nicht verlängern, Rahmen oder andere top-level-Container. Stattdessen erstellen & verwenden Sie eine Instanz von einem. 2) nicht die Größe des top-level-Container. Statt layout der content - & call pack().
  • System.exit(0); bewirkt, dass es zu beenden, aber das beendet, ohne weiter auf das nächste Menü. Es sei denn, ich Stelle dies an der falschen Stelle, wird dies nicht funktionieren.
Schreibe einen Kommentar