自动设置JPanel的最小尺寸
我有一个 JPanel
的子类,我希望它在其父框架被 pack()
ed 后立即将其最小尺寸设置为其新的首选尺寸。我尝试过使用 ComponentAdapter
,但是 JPanel
默认情况下是可见的;如果我在构造函数的开头 setVisible(false)
,则 JFrame
不会使其再次可见。如果我使用 SwingUtilities
的方法获取窗口根目录,它将返回 null
因为它位于构造函数中。
有办法做到这一点吗?
I have a subclass of JPanel
, and I want it to, as soon as its parent frame is pack()
ed, to set its minimum size to its new preferred size. I've tried using a ComponentAdapter
, but JPanel
s are by default visible; if I setVisible(false)
at the beginning of the constructor, the JFrame
won't make it visible again. If I use SwingUtilities
's method to get the window root, it will return null
because it's in a constructor.
Is there a way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您在包装前知道首选/最小尺寸,请随后进行设置。
If you know the preferred/minimum size before the pack, set it then.
当然可以,但是否有用......。您可以重写
getMininumSize()
方法以返回super.getPreferredSize();
Certainly possible, but whether it is useful ... . You can override the
getMininumSize()
method to returnsuper.getPreferredSize();