我最近刚开始使用Swing为程序创建GUI,到目前为止,它一直很有趣。但是,我遇到了JPanel的问题,其布局设置为gridLayout。现在它看起来像这样:
(我无法发布图片,所以...)
右边的网格是设置为GridLayout的JPanel,每个单元格都是有边框的JLabel。左侧的选项也在JPanel中,左侧JPanel和右侧JPanel嵌套在JFrame上的GridBagLayout集中。
基本上,我的问题是我想在右边“缩放”网格,以便每个单元格具有一定的高度和宽度。网格本身将具有可变数量的行和列,这些行和列在程序首次启动时设置。最后,我计划在JScrollPane中使用正确的JPanel(如果这是如何工作的......),所以我并不关心所有网格是否都显示在屏幕上。
我尝试将gridLayout的填充值设置为“BOTH”,它给了我以下结果:
这更接近我的意图,但我希望JLabel中的实际ImageIcon能够填充整个JLabel。另外,我希望JLabel的高度和宽度相同。但是,我不知道该怎么做。我现在已经搞砸了一段时间了,我不确定我是不是太过于使用Swing的菜鸟,或者我是否遗漏了文档中的内容。 最后,我希望网格单元的高度和宽度都是固定的,无论单元格数量多少,无论它是否在屏幕外或不填充它。
就像我说的,我对此很新,所以我真的很感激任何帮助。 (另外,我只是想,也许这不是最好的想法来编码这个然后将它推到JScrollPane中并期望它执行相同的......我想我会看到会发生什么。) 谢谢你的阅读!
答案 0 :(得分:1)
但我希望JLabel中的实际ImageIcon能够填充整个JLabel。
查看Darryl的Stretch Icon,它将允许图标调整大小以存档JLabel的可用空间。