【问题标题】:How to find real height of panel?如何找到面板的实际高度?
【发布时间】:2011-08-12 21:55:51
【问题描述】:

如果我使用例如方法 setPreferedSize(new Dimension(0,160,10,10)) 设置 JPanel 的大小,但随后我添加了许多其他组件(例如一系列大按钮)和面板超过 160px 的大小:如何找到面板的实际高度?

【问题讨论】:

  • 在大多数情况下,您不需要知道。设置一个合适的布局管理器并让它完成它的工作。

标签: java swing jpanel


【解决方案1】:

使用JComponent#getHeight()。来自其 JavaDoc:Returns the current height of this component.

【讨论】:

  • 如果我们使用 setPrefferedSize() 设置大小,它将不起作用;仅当我们使用 setSize() 设置大小时才有效
  • @Harry 布局管理器会喜欢调用component.setBounds(...),它会依次更新宽度和高度。 setPreferredSize() 只会将首选大小设置为布局管理器的提示。
  • @Harry 在让布局管理器完成工作之前还是之后?请注意,在设置首选大小后,当前大小仍为 0,因为尚未设置。如果您想在布局管理器发挥作用之前找出当前高度,则必须手动计算。请注意,您还可以在获取当前大小之前在布局管理器上调用 layoutContainer(yourpanel) - 更好的是 panel.doLayout()
猜你喜欢
  • 2011-04-10
  • 1970-01-01
  • 1970-01-01
  • 2018-10-13
  • 2014-04-18
  • 2020-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多