我有一个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);
但是当我调整窗口大小时,面板的大小不会改变.即使调整大小,如何使面板的大小与窗口的大小相同?
你可以设置一个像BorderLayout这样的布局管理器,然后更具体地定义你的面板应该去的地方:
MainPanel mainPanel = new MainPanel(); JFrame mainFrame = new JFrame(); mainFrame.setLayout(new BorderLayout()); mainFrame.add(mainPanel, BorderLayout.CENTER); mainFrame.pack(); mainFrame.setVisible(true);
这会将面板放入框架的中心区域,并在调整框架大小时自动增长.