java - 并排设置两个Jpanel,窗口较小时没有变化

标签 java swing jpanel layout-manager

我有一个底部面板,我想将两个面板并排添加到该面板中。它们是左下角和右下角面板。 所以我在想,如果我将外部面板的最小尺寸设置为大于它们并排时的宽度,当我使窗口变小时,两个面板应该保持并排。但右下角总是位于左下角之下。下面是代码,我将 flowLayout 用于bottomPanel。

bottomPanel.add(bottomPanelRight);
bottomPanel.add(bottomPanelLeft);
bottomPanel.setMinimumSize(new Dimension(600, 600));

最佳答案

眼前的问题似乎是 JPanel 的默认布局是 FlowLayout (因为我看不到任何更改布局的代码)

你可以

尝试使用GridLayout。这将确保两个组件在容器内获得相同的空间,这意味着它们将随着父容器大小的更改而更改大小。

你可以

使用GridBagLayout,这将使您能够更好地确定每个组件在其给定单元格中的布局方式。

如果没有告知,

GridBagLayout 将使用组件的首选大小。如果没有足够的空间来满足首选尺寸,它将使用组件的最小尺寸来代替

看看Laying Out Components Within a Container了解更多详情

关于java - 并排设置两个Jpanel,窗口较小时没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19884813/

相关文章:

java - 如何在 Cassandra 中使用 Spark 获取行范围

java - 包含多种 Java 类型的表上的 DynamoDBMapper

java - 尝试对多个按钮使用 1 个 Action 监听器

java - 在 gui Java 中对 if 语句的输出显示添加延迟

java - 带有选项卡的 JFrame 未显示

java - 需要在重写的类中定义显式构造函数

java - 如何使用 XSLT 从 XML 生成完整列表和选定的详细信息?

java - 如何在 JEditorpane 中将 URL 显示为可点击并允许它们在默认浏览器中打开?

java - 当我调整大小时,JPanel 大小问题

java - java中如何将文本输出到窗口中