Java 控制JPanel的大小

Java 控制JPanel的大小,java,swing,Java,Swing,我有一个典型的IDE风格的窗口,上面有一个JMenuBar和JToolBar, 一个大的中央控制台和一个底部状态栏 以下是代码的主要部分: mainPanel = new JPanel(); mainPanel.setLayout(new BorderLayout()); JPanel topPanel = new JPanel(); . (JMenuBar and JToolBar) . mainPanel.add(topPanel, BorderLayout.NORTH); cardP

我有一个典型的IDE风格的窗口,上面有一个JMenuBar和JToolBar, 一个大的中央控制台和一个底部状态栏

以下是代码的主要部分:

mainPanel = new JPanel();
mainPanel.setLayout(new BorderLayout());

JPanel topPanel = new JPanel();
. (JMenuBar and JToolBar)
.

mainPanel.add(topPanel, BorderLayout.NORTH);

cardPanel = new JPanel();
cardPanel.setLayout(cardLayout);
.
.

Dimension minDimension = new Dimension(680, 400);
Dimension maxDimension = new Dimension(750, 800);

JPanel centerPanel = new JPanel();
centerPanel.setMinimumSize(minDimension);
centerPanel.setPreferredSize(minDimension);
centerPanel.setMaximumSize(maxDimension);
centerPanel.setLayout(new BoxLayout(centerPanel, BoxLayout.Y_AXIS));
centerPanel.add(cardPanel);

mainPanel.add(centerPanel, BorderLayout.CENTER);

mainPanel.add(statusBar, BorderLayout.SOUTH);
我希望能够控制整个窗口的大小, 具有最小和最大尺寸

我想我可以把“中心面板”JPanel作为一个盒子布局, 所以我可以控制它,但事实上,我不能 完全控制窗口的大小

我试图让“主面板”使用BoxLayout,而不是BorderLayout,但是没有 那里有太多的问题

主边框布局是否导致忽略大小调整? 我知道除了中心以外,其他部件都有一些尺寸 控件,这就是为什么我尝试在中心使用BoxLayout

有没有可能保持BorderLayout并使其正常工作, 进行一些其他修改,或者我需要切换到其他布局管理器吗


谢谢

我正在尝试更多的方法来做到这一点我明白了。2为了更快地获得更好的帮助,请发布一个最小的完整可验证示例或简短、自包含、正确的示例。我希望能够控制整个窗口的大小,使用最小和最大大小。有关最小尺寸,请参见。我不相信在没有本机代码的情况下执行最大大小是可能的,当然,除非调用setResizeableFalse…好的,谢谢!我找到了一个使用简单的BorderLayout和JFrame的示例,无论我怎么做,我都可以一直调整窗口大小,直到它填满整个屏幕;