我搜索了一个方法,如果 jpanel 显示在显示屏上,就会调用该方法,因为我必须获取面板的实际大小。
有什么建议么?
您是否尝试将ComponentListener添加到 JPanel?那将是我从componentShown(...)
方法中的代码开始的地方。为此,我认为您必须setVisible(true)
在将 JPanel 添加到显示器后调用它。
另一种选择是在调用pack()
之后或setVisible(true)
在您的 GUI 上简单地查询其大小。
编辑
你状态:
我将面板添加到 gui 设计器中。当窗口弹出时,我现在想要 jpanel 的实际大小,因为它可以改变它。
如果你想知道“当窗口弹出时”窗口所持有的组件的大小,那么在窗口中添加一个WindowListener并从windowOpened(...)
方法中检查组件的大小。
编辑 2
然后你说:
在获得实际尺寸后,我添加了一些与此面板尺寸相关的子面板。因此,例如 size/6 和子面板现在的 size-height 为 size/6。
一种解决方案:最好不要设置任何东西的大小,而是使用布局管理器的正确组合,然后让他们根据自己的规则设置适当的大小。
使用函数 setVisible(true) 设置可见性;