在我的应用程序中,我有一个主窗口和一个实用程序弹出对话框,当用户单击菜单项时会显示该对话框。我的问题是,如果在java应用程序上打开另一个程序(比如firefox),这显然会隐藏java应用程序。这没关系 - 但是当用户再次单击我的java应用程序时,只显示主窗口 - 实用程序弹出对话框仍然隐藏在firefox下。我想设计它,当用户以任何方式与主窗口交互时,实用程序弹出对话框也会被带到前面。
我尝试将MouseInputListener添加到主框架中以将实用程序对话框放到前面,但这也会将焦点转移到它,这是我不想要的。
private MouseInputAdapter onWindowClick = new MouseInputAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (scheduleDialog != null)
scheduleDialog.toFront(); // the utility dialog
}
};
答案 0 :(得分:2)
实用程序弹出对话框仍然隐藏
创建对话框时,您需要将主窗口指定为对话框的所有者。
然后当您单击窗口的图标时,也会显示该对话框。
阅读JDialog API以获取要使用的正确构造函数。