2

我搜索了一个方法,如果 jpanel 显示在显示屏上,就会调用该方法,因为我必须获取面板的实际大小。

有什么建议么?

4

2 回答 2

2

您是否尝试将ComponentListener添加到 JPanel?那将是我从componentShown(...)方法中的代码开始的地方。为此,我认为您必须setVisible(true)在将 JPanel 添加到显示器后调用它。

另一种选择是在调用pack()之后或setVisible(true)在您的 GUI 上简单地查询其大小。

编辑
你状态:

我将面板添加到 gui 设计器中。当窗口弹出时,我现在想要 jpanel 的实际大小,因为它可以改变它。

如果你想知道“当窗口弹出时”窗口所持有的组件的大小,那么在窗口中添加一个WindowListener并从windowOpened(...)方法中检查组件的大小。

编辑 2
然后你说:

在获得实际尺寸后,我添加了一些与此面板尺寸相关的子面板。因此,例如 size/6 和子面板现在的 size-height 为 size/6。

一种解决方案:最好不要设置任何东西的大小,而是使用布局管理器的正确组合,然后让他们根据自己的规则设置适当的大小。

于 2012-04-14T12:43:25.960 回答
0

使用函数 setVisible(true) 设置可见性;

于 2012-04-14T12:50:02.170 回答