Java 从JFrame GridBagLayout获取组件大小

Java 从JFrame GridBagLayout获取组件大小,java,swing,Java,Swing,我是否可以从GridBagLayout中获取按钮的尺寸,以便为该按钮设置一个调整大小的图标,还是应该在窗口大小更改时使用其他方法调整组件位置 所以我可以设置一个调整大小的图标 如果要动态调整图标的大小以填充组件中的可用空间,请查看Darryl的 图标将根据需要随着组件大小的变化而增大或缩小。您可以让图标按比例缩放或填充可用空间。您有鸡和蛋的问题。按钮想要的大小在一定程度上取决于iconIt作品的大小,但图像比按钮小得多…:(@GeorgiDzhondzhov-您可以使用类似于:button.se

我是否可以从GridBagLayout中获取按钮的尺寸,以便为该按钮设置一个调整大小的图标,还是应该在窗口大小更改时使用其他方法调整组件位置

所以我可以设置一个调整大小的图标

如果要动态调整
图标的大小以填充组件中的可用空间,请查看Darryl的


图标
将根据需要随着组件大小的变化而增大或缩小。您可以让
图标按比例缩放或填充可用空间。

您有鸡和蛋的问题。按钮想要的大小在一定程度上取决于iconIt作品的大小,但图像比按钮小得多…:(@GeorgiDzhondzhov-您可以使用类似于:
button.setMargin(新的插图(5,5,5,5));
来控制空间,或者您可以使用
button.setbOrderPaint(false)
完全删除空格。它只填充文本区域。按钮的其余部分为银色。@camickr注意到
StretchIcon
magic类将文本容器作为组件进行强制转换,并仅填充按钮的文本字段。我在同一强制转换
paintIcon
方法中添加了
.getParent
,并填充了它整个按钮。