登录后,只有一半的新 Jpanel 显示



我有一个登录系统,它登录正常,但当用户登录时,它只显示新jPanel的一半我正在使用Java和Netbeans

这是我的代码:

 if(loggedIn){
                Main_Menu panel= new Main_Menu();
                controlPanel.setVisible(false);
                mainFrame.remove(controlPanel);
                mainFrame.add(controlPanel2);
                controlPanel2.add(panel);  
                controlPanel2.setVisible(true);
            }
        }catch(SQLException ex){
            JOptionPane.showMessageDialog(null, "Problem executing SQL Query.");

旧面板被删除并添加新面板,但是当您登录时,只有一半的jPanel可见,为什么会这样?

只有一半的jPanel是可见的,为什么会这样?

第二个面板的大小更大,因此您需要 pack() 框架,以便所有组件都以它们喜欢的大小显示。

或者另一种选择是使用Card Layout,让布局管理器处理面板的交换。它还将正确管理大小。

阅读 Swing 教程中有关如何使用 CardLayout 的部分,了解更多信息和工作示例。

最新更新