gpt4 book ai didi

java - 为什么当我创建对话框时我的 Swing 应用程序会最小化?

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:38 24 4
gpt4 key购买 nike

我有一个以全屏模式运行的简单 Swing 应用程序。我的应用程序实例化一个 JFrame,它又实例化一个 JPanel,其中所有绘图都是在 paintComponent 方法中完成的。我还有一个 MouseListener 监视某些事件。

其中一个事件(单击屏幕的特定区域)会触发提示。这是我显示提示的代码(请记住,这来 self 的扩展 JPanel 的类)。

int choice = JOptionPane.showConfirmDialog(this, "Are you sure you want to quit?", "Quit?", JOptionPane.YES_NO_OPTION);
if ( choice == JOptionPane.OK_OPTION ) {
dialogOpen = false;
System.exit(0);
} else {
dialogOpen = false;
repaint();
}

唯一的麻烦是...一旦这段代码运行,整个窗口就会消失。更具体地说,它看起来像是将自身最小化,因为我可以单击任务栏中的 Java 图标,它会立即弹出。但我该如何阻止它自行最小化呢?我只想显示一个简单的提示!

最佳答案

我明白了。感谢大家的有用评论(顺便问一下,这里的人们和评论是怎么回事?为什么人们会在评论中写下可以在答案中包含的所有内容?)

我不需要调用 .showConfirmDialog(this, ...) (其中 this 是我的 JPanel 子类),而是需要调用 .showConfirmDialog(parent, ...) (其中 parent 是我的 JFrame 子类)。然后,我在 JFrame 上添加了一个 WindowStateListener 来检测状态更改并重置窗口状态。

关于java - 为什么当我创建对话框时我的 Swing 应用程序会最小化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27116614/

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