JavaSwing试图更好地理解它

JavaSwing试图更好地理解它,java,swing,Java,Swing,所以我试着在swing中制作一个包含8个功能的菜单。这是我现在掌握的密码 import java.awt.Container; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Menu extends JFrame { pu

所以我试着在swing中制作一个包含8个功能的菜单。这是我现在掌握的密码

 import java.awt.Container;
    import java.awt.EventQueue;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.*;

    public class Menu extends JFrame {
    public Menu(){
        init();
    }

    public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable(){
       @Override
       public void run(){
           Menu menu = new Menu();
           menu.setVisible(true);
       }
    });



    }
    private void init() {
        setTitle("Group 2");
        setSize(300, 400);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        JButton quitButton = new JButton("E(X)it");
        quitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {
                System.exit(0);
            }
        });
        createLayout(quitButton);


        JButton nameAsk = new JButton("What is your name?");
        nameAsk.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent event) {

            }
        });
        createLayout(nameAsk);
    }

    private void createLayout(JComponent... arg){
        Container pane = getContentPane();
        GroupLayout gl = new GroupLayout(pane);
        pane.setLayout(gl);
        gl.setAutoCreateContainerGaps(true);
        gl.setHorizontalGroup(gl.createSequentialGroup().addComponent(arg[0]));
        gl.setVerticalGroup(gl.createSequentialGroup().addComponent(arg[0]));
   }

  }

问题是,当我再添加一个按钮时,另一个按钮就会消失。我认为它位于其他按钮之上,但我现在感到困惑。

每次使用createLayout方法添加组件时,似乎都在覆盖布局。您只应该设置一次布局,然后添加按ONE布局的组件。JFrror默认使用边界布局,考虑使用不同的布局管理器。有关更多想法,请参阅