有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Swing,制作gridlayout填充父级?

我最近刚开始使用Swing为程序创建GUI,到目前为止,它非常有趣。但是,我对布局设置为gridLayout的JPanel有一个问题。现在看起来是这样的:

http://i.stack.imgur.com/LLDOR.png

右边的网格是一个设置为GridLayout的JPanel,每个单元格都是一个带边框的JLabel。左边的选项也在JPanel中,左边的JPanel和右边的JPanel嵌套在JFrame上的GridBagLayout集合中

本质上,我的问题是,我想“缩放”右边的网格,使每个单元格都有一定的高度和宽度。网格本身将具有可变的行数和列数,这些行数和列数是在程序首次启动时设置的。最终,我计划在JScrollPane中使用正确的JPanel(如果是这样的话…),所以我并不关心是否所有的网格都出现在屏幕上

我尝试将gridLayout的填充值设置为“两者”,结果如下:

http://i.stack.imgur.com/k4zmd.png

这更接近我的意图,但我希望JLabel中的实际图像图标填充整个JLabel。此外,我希望jLabel具有相同的高度和宽度。然而,我不知道该怎么做。我已经在这上面混了一段时间了,我不确定我是不是太喜欢Swing,或者我在文档中遗漏了什么。 最后,我希望网格单元格的高度和宽度是固定的,无论单元格的数量是多少,也不管它是否在屏幕外或没有填充

(此外,我只是想,也许编写代码,然后将其放入JScrollPane中,并期望它执行相同的操作不是最好的主意……我想我会看看会发生什么。)


共 (1) 个答案

  1. # 1 楼答案

    but I wanted the actual ImageIcon in the JLabels to fill the entire JLabel.

    查看Darryl的Stretch Icon,它将允许图标调整大小,以归档JLabel的可用空间