【发布时间】:2011-08-12 21:55:51
【问题描述】:
如果我使用例如方法 setPreferedSize(new Dimension(0,160,10,10)) 设置 JPanel 的大小,但随后我添加了许多其他组件(例如一系列大按钮)和面板超过 160px 的大小:如何找到面板的实际高度?
【问题讨论】:
-
在大多数情况下,您不需要知道。设置一个合适的布局管理器并让它完成它的工作。
如果我使用例如方法 setPreferedSize(new Dimension(0,160,10,10)) 设置 JPanel 的大小,但随后我添加了许多其他组件(例如一系列大按钮)和面板超过 160px 的大小:如何找到面板的实际高度?
【问题讨论】:
使用JComponent#getHeight()。来自其 JavaDoc:Returns the current height of this component.
【讨论】:
component.setBounds(...),它会依次更新宽度和高度。 setPreferredSize() 只会将首选大小设置为布局管理器的提示。
layoutContainer(yourpanel) - 更好的是 panel.doLayout()。