gpt4 book ai didi

java - JOptionPane 不会在其他窗口之上显示其对话框

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:52 25 4
gpt4 key购买 nike

我的 swing 提醒应用程序目前有问题,它可以在关闭时最小化到托盘。我的问题是,我需要 JOptionPane 对话框根据我的设置按时弹出,但问题是,当我最小化它时,对话框会弹出,但当其他应用程序如资源管理器、firefox 时,对话框不会弹出正在运行,谁知道无论运行什么应用程序,如何在窗口顶部弹出对话框?

最佳答案

分别创建一个空的虚拟 JFrame,将其始终设置在顶部并将其用作 JOptionPane 的组件而不是 null。因此 JOptionPane 始终位于应用程序的所有其他窗口之上。您还可以使用虚拟 JFrame 的位置确定 JOptionPane 在屏幕上的显示位置。

JFrame frmOpt;  //dummy JFrame

private void question() {
if (frmOpt == null) {
frmOpt = new JFrame();
}
frmOpt.setVisible(true);
frmOpt.setLocation(100, 100);
frmOpt.setAlwaysOnTop(true);
String[] options = {"delete", "hide", "break"};
int response = JOptionPane.showOptionDialog(frmOpt, msg, title, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, "delete");
if (response == JOptionPane.YES_OPTION) {
removeRow();
}
frmOpt.dispose();
}

关于java - JOptionPane 不会在其他窗口之上显示其对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/438463/

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