gpt4 book ai didi

java - 如何获得对当前显示的 Java Swing JDialog 框的引用?

转载 作者:行者123 更新时间:2023-12-03 19:42:20 26 4
gpt4 key购买 nike

我正在使用基于 Java Swing 的框架,该框架使用 Java Swing JDialog 框显示弹出消息。我需要获取它们的引用,以便我以编程方式关闭它们。该框架创建对话框但不保留对它们的引用。我可以获得对当前显示框的引用吗?

谢谢。

最佳答案

试试这个:

import java.awt.Window;
import javax.swing.JDialog;

public class Test {
public static void main(String[] args) {
JDialog d = new JDialog((Window)null,"Demo Dialog");
for (Window w : JDialog.getWindows()) {
if ( w instanceof JDialog) {
System.out.println(((JDialog)w).getTitle());
}
}
}
}

如果您对以下内容感到困惑:

(Window)null

cast,简单地尝试在没有它的情况下进行编译:)

(顺便说一句,将空窗口传递给构造函数会创建一个无主对话框)

编辑:请注意,这将为您提供对所有对话框的引用,无论它们是否如代码所示那样可见。要修复它,只需使用 isVisible() 查询对话框是否可见

关于java - 如何获得对当前显示的 Java Swing JDialog 框的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1301874/

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