Java Gui 不会显示面板和组件

Java Gui won't display panels and components

我正在尝试制作一个程序来将管理员添加到 MS 访问数据库

我研究了很多次,发现所有的组件都需要在一个面板中,而且只能在一个面板中使用相同类型的J东西,所以我做了很多面板并将它们组合成一个大面板

        //frame details
        final int FRAME_WIDTH = 1000; 
        final int FRAME_HEIGHT = 1000; 
        JFrame aFrame = new JFrame("Add admin"); 
        aFrame.setSize(FRAME_WIDTH, FRAME_HEIGHT); 
        aFrame.setVisible(true); 
        aFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

        //panel declaration
        JPanel BigPanel = new JPanel();
        JPanel adminnameenter = new JPanel();
        JPanel typeadminname = new JPanel();
        JPanel adminlastnameenter = new JPanel();
        JPanel typeadminlastname = new JPanel();
        JPanel buttonaddadmin = new JPanel();

        //labels, textfields, and buttons
        JLabel newAdminName = new JLabel("Enter admin name");
        JTextField adminName = new JTextField(7);
        JLabel newadminlastname = new JLabel("Enter admin last name");
        JTextField adminlastname = new JTextField(7);
        JButton addadmin = new JButton("Add Admin");

        //add things to panel
        adminnameenter.add(newAdminName);
        typeadminname.add(adminName);
        adminlastnameenter.add(newadminlastname);
        typeadminlastname.add(adminlastname);
        buttonaddadmin.add(addadmin); 

        //add things to big jPanel
        BigPanel.add(adminnameenter);
        BigPanel.add(typeadminname);
        BigPanel.add(adminlastnameenter);
        BigPanel.add(typeadminlastname);
        BigPanel.add(buttonaddadmin);

        //add things to frame
        aFrame.add(BigPanel);

唯一弹出的是一个框架,上面写着添加管理员

将此代码添加到函数的末尾:

aFrame.setVisible(false);
aFrame.setVisible(true);

或者换句话说

aFrame.setVisible(true);

在函数的结尾而不是开头。

然后所有组件都会出现。这是因为每当您对 JFrame 进行任何更改时,它只会在用户端被告知调整大小或刷新框架时发生更改。此外,您不需要将每个组件都放在它自己的 JPanel 中,您只需将它们直接插入您的 BigPanel(小挑剔,但 bigPanel 中的 b 不应大写,因为变量以非大写字母开头).

另请查看布局管理器,它们可能对您的应用程序有用。

https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html