gpt4 book ai didi

java - 我如何才能等到组件在 Java 中显示?

转载 作者:搜寻专家 更新时间:2023-11-01 01:15:13 25 4
gpt4 key购买 nike

我在 Window 中有一个组件 (JPanel)。调用 panel.isShowing() 时,我总是得到 false,当从 windowGainedFocus() 事件调用时(当父窗口获得焦点时)。

我假设当 windowGainedFocus() 事件被调用时,Window 中的 JPanel 的绘制还没有完成。

我试图将调用 isShowing() 放在这个 Windowpaint() 方法上,但我总是得到 isShowing() = false

JPanel 完全显示在屏幕上并且 isShowing() 方法将返回 true 时,有什么方法可以获取事件吗?

谢谢

最佳答案

您最好在面板本身上使用层次结构监听器来解决此问题:

panel.addHierarchyListener(new HierarchyListener() {
public void hierarchyChanged(HierarchyEvent e) {
if ((HierarchyEvent.SHOWING_CHANGED & e.getChangeFlags()) !=0
&& panel.isShowing()) {
//do stuff
}
}
});

关于java - 我如何才能等到组件在 Java 中显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1235657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com