gpt4 book ai didi

java - 判断 JDialog 是否已经打开

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:17 26 4
gpt4 key购买 nike

如何判断一个JDialog组件是否已经打开,从而避免同一个JDialog在同一个应用实例中被打开两次?

我想到的一个解决方案是验证一个对象是否已经是一个JDialog实例(dialogObj instanceof JDialog),如果是,我就调用负责它的构建/展示的方法,如果不是,我就创建一个新的JDialog实例(如果我有妄想,请随时纠正我)。

假设我创建了一个 JDialog,其中包含一 (1) 个 JPanel、一 (1) 个 JTextField、一 (1) 个 JButton 以及保存每次“显示”JDialog 的事件的元素是 JMenuItem -> JPopUpMenu -> TrayIcon(系统托盘图标)。

我几乎找到了解决它的方法(如第二段所示),但是,当我通过系统托盘再次打开它时,我在“处理”对话框之前输入的所有内容再次出现,更不用说其他元素状态保持不变(启用 JButton 等 - 这是另一个故事)。

这里有没有人知道如何解决它(当然有)?

最佳答案

解决这两个任务

  • A) 只初始化一个 JDialog
  • B) 检查它是否打开

您可以简单地使用模态 JDialog 作为

JDialog aDialog=new JDialog();
aDialog.setModal(true);

...这不会让用户初始化另一个 JDialog 示例 :)

祝你好运

关于java - 判断 JDialog 是否已经打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749268/

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