Java swing GridLayout调整单元格大小

Java swing GridLayout调整单元格大小,java,swing,grid-layout,Java,Swing,Grid Layout,使用GridLayout(4,4)启动JPanel后,我在每个网格单元内插入一个JLabel(并在其上附加一个imageicon),大小为(150150) 当我将JLabel的大小调整为(100100)时,图像会被裁剪(这对我来说非常好),但我会得到一个看起来像wierd的网格(在末尾添加了图像) 如果这有帮助:我实际上没有调整窗口的大小,我只需要确保JLabel的大小始终设置为(100100),不知道原始图像的大小 之前: 之后: 谢谢不幸的是,您没有说出您期望网格的样子。我想你不想让细胞

使用GridLayout(4,4)启动JPanel后,我在每个网格单元内插入一个JLabel(并在其上附加一个imageicon),大小为(150150)

当我将JLabel的大小调整为(100100)时,图像会被裁剪(这对我来说非常好),但我会得到一个看起来像wierd的网格(在末尾添加了图像)

如果这有帮助:我实际上没有调整窗口的大小,我只需要确保JLabel的大小始终设置为(100100),不知道原始图像的大小

之前:

之后:


谢谢

不幸的是,您没有说出您期望网格的样子。我想你不想让细胞彼此相隔那么远

这些国家

容器被划分为大小相等的矩形,每个矩形中放置一个组件

如果缩小每个
JLabel
(即每个矩形中的组件)的大小,您只需这样做。缩小组件的大小,而不是矩形的大小。网格并不关心组件是否太小,无法填充整个矩形。将构件添加到网格1时,网格会尝试将构件大小设置为最适合可用空间。但是,如果以后更改标签的大小,网格将不会在意

您可能需要更改整个网格的大小:如果将网格大小设置为400 x 400,则应将其均匀地划分为所有4行4列,因此得到大小为100 x 100的矩形。所有标签应自动相应调整大小


1可能不完全是在添加标签时,而是在添加标签时,但我不知道所有关于布局如何以及何时发挥作用的内部细节