我搜索一个方法,如果jpanel显示在显示器上,就会调用该方法,因为我必须获取面板的实际大小。
有什么建议吗?
发布于 2012-04-14 20:43:26
您是否尝试过向JPanel添加ComponentListener?这就是我在componentShown(...)方法中开始编写代码的地方。为了让它正常工作,我认为您必须在将JPanel添加到显示之后对其调用setVisible(true)。
另一种选择是在图形用户界面上调用pack()或setVisible(true)之后简单地查询它的大小。
编辑
你声明:
我将该面板添加到了gui设计器..当窗口弹出时,我现在想要jpanel的实际大小,因为它可以改变它。
如果您想知道窗口“弹出窗口时”持有的组件的大小,那么可以向窗口添加一个WindowListener,并通过windowOpened(...)方法检查组件的大小。
编辑2
然后你声明:
在获得实际大小后,我添加了一些与此面板的大小相关的子面板。例如size/6 &子面板现在的size-height为size/6。
一种解决方案是:最好不要设置任何东西的大小,而是使用正确的布局管理器组合,然后让它们根据自己的规则设置适当的大小。
发布于 2012-04-14 20:50:02
使用函数setVisible设置可见性(True);
https://stackoverflow.com/questions/10153699
复制相似问题