Java Swing,制作gridlayout填充父级?
我最近刚开始使用Swing为程序创建GUI,到目前为止,它非常有趣。但是,我对布局设置为gridLayout的JPanel有一个问题。现在看起来是这样的:
右边的网格是一个设置为GridLayout的JPanel,每个单元格都是一个带边框的JLabel。左边的选项也在JPanel中,左边的JPanel和右边的JPanel嵌套在JFrame上的GridBagLayout集合中
本质上,我的问题是,我想“缩放”右边的网格,使每个单元格都有一定的高度和宽度。网格本身将具有可变的行数和列数,这些行数和列数是在程序首次启动时设置的。最终,我计划在JScrollPane中使用正确的JPanel(如果是这样的话…),所以我并不关心是否所有的网格都出现在屏幕上
我尝试将gridLayout的填充值设置为“两者”,结果如下:
这更接近我的意图,但我希望JLabel中的实际图像图标填充整个JLabel。此外,我希望jLabel具有相同的高度和宽度。然而,我不知道该怎么做。我已经在这上面混了一段时间了,我不确定我是不是太喜欢Swing,或者我在文档中遗漏了什么。 最后,我希望网格单元格的高度和宽度是固定的,无论单元格的数量是多少,也不管它是否在屏幕外或没有填充
(此外,我只是想,也许编写代码,然后将其放入JScrollPane中,并期望它执行相同的操作不是最好的主意……我想我会看看会发生什么。)
# 1 楼答案
查看Darryl的Stretch Icon,它将允许图标调整大小,以归档JLabel的可用空间