自动调整JFrame中的JPanel大小

Igo*_*gor 11 java size swing jpanel jframe

我有一个JPanel子类,我在其上添加buutons,标签,表等.要在屏幕上显示它我使用JFrame:

MainPanel mainPanel = new MainPanel(); //JPanel subclass

JFrame mainFrame = new JFrame();
mainFrame.setTitle("main window title");
mainFrame.getContentPane().add(mainPanel);
mainFrame.setLocation(100, 100);
mainFrame.pack();
mainFrame.setVisible(true);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud)

但是当我调整窗口大小时,面板的大小不会改变.即使调整大小,如何使面板的大小与窗口的大小相同?

Ole*_*Ole 14

你可以设置一个像BorderLayout这样的布局管理器,然后更具体地定义你的面板应该去的地方:

MainPanel mainPanel = new MainPanel();
JFrame mainFrame = new JFrame();
mainFrame.setLayout(new BorderLayout());
mainFrame.add(mainPanel, BorderLayout.CENTER);
mainFrame.pack();
mainFrame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

这会将面板放入框架的中心区域,并在调整框架大小时自动增长.