java维度,仅更改宽度/高度
如何仅更改需要Dimension
对象的组件的宽度或高度?目前我是这样做的:
jbutton.setPreferredSize(new Dimension(button.getPreferredSize().width, 100));
但我觉得我做得不对。 如果有更好的方法,最好的方法是什么
你可以在下面搜索框中键入要查询的问题!
如何仅更改需要Dimension
对象的组件的宽度或高度?目前我是这样做的:
jbutton.setPreferredSize(new Dimension(button.getPreferredSize().width, 100));
但我觉得我做得不对。 如果有更好的方法,最好的方法是什么
# 1 楼答案
首先,您没有改变JButton的维度。您正在指定所需的首选大小,该大小最终可以应用于JButton,具体取决于插入组件的LayoutManager
关于维度对象的使用,没关系。最终,您可以直接访问维度字段:
但这几乎是一样的
# 2 楼答案
我有同样的问题,但使用了不同的应用程序——我只需要限制我添加到具有BoxLayout的容器中的JPanel的高度。因此,当我在它上面调用setMaximumSize并使用它的首选大小作为宽度时,结果是它没有得到我在水平维度中预期的拉伸;它出来的时候更短,因为这是它的首选尺寸。我找不到布局管理器应用的实际宽度,所以我不知道在新尺寸中使用什么宽度,但我想要的高度设置工作得很好。最后的答案是:
然后BoxLayout管理器给myJpanel提供了正确的较低宽度,它仍然水平地填充容器,以及我想要防止垂直拉伸的较低高度
# 3 楼答案
我最终还是按照克利奥帕特拉说的做了。不更改preferredSize,而是让布局管理器完成这项工作。因为这是更改组件大小的正确方法