java - GridLayout 没有填满整个窗口

标签 java swing layout-manager grid-layout

虽然我向其中添加了 x*y 按钮,但带有 GridLayout(x, y)JInteralFrame 没有填满整个窗口的原因是什么?为什么它周围有空白,如下面第一张图片所示?

如果我稍微调整一下大小,我就可以删除网格布局周围的所有空白,如下面的第二张图片所示,但我不明白为什么情况并非总是如此。

with a white frame around it

no white frame

最佳答案

Why is there white space around it like in the first picture below?

GridLayout 为每个组件分配完全相同的宽度或高度,但对于 GUI 20(例如)组件宽,只能在 GUI 每拉伸(stretch) 20 个像素时执行此操作。它将任何“剩余”的空间像素排列到最左边和最右边的组件。

为了解决这个问题,您可以使用 GridBagLayout 并调整行和列的权重,以允许某些组件以几乎不明显的方式接管剩余空间(差异在组件尺寸)给用户。

关于java - GridLayout 没有填满整个窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50142959/

相关文章:

java - 检查 JSP 中的对象是否是新的或是否具有值

java - XML Java 读取 Node?

java - 当组件超出文本区域时启用 ScrollPane

java - JScrollPane 上的单杠

Java setBounds 不适用于 JPanel

java - 如何阻止 JTextFields 脱离框架

java - IntelliJ IDEA 中的自定义 Maven 目标

java - Maven 基本问题

java - .getSize() 在 JScrollPane 中更新,但不在 JPanel 中更新

java - 在 Swing 面板上排列 Swing 组件