4

我有一个应用程序,它使用这些JOptionPane.show*方法在显示应用程序主窗口之前通知用户各种条件。在多屏幕设置中,这些始终显示在第一个屏幕上。这通常只是一个小烦恼,但当 0 屏幕关闭或断开连接时,就会成为问题。

GraphicsConfiguration可以使用获得的 via正确放置普通窗口MouseInfo,但我找不到将其传递给JOptionPane. 我也不能使用主窗口来锚定对话框,因为在应用程序启动的那个阶段没有主窗口。可能的对话框中有关于过时 java 版本的警告,因此在错误之前显示主窗口不是选项,因为用户的 java 运行时甚至可能无法显示主窗口。

有没有办法在不重新实现主要部分的情况下指定目标屏幕JOptionPane

4

1 回答 1

3

您可以从 JOptionPane 创建一个 JDialog,然后在您想要的任何位置显示对话框。

根据JOptoinPane API

 JOptionPane pane = new JOptionPane(arguments);
 pane.set.Xxxx(...); // Configure
 JDialog dialog = pane.createDialog(parentComponent, title);
 // here set the dialog's location
 dialog.setVisible(true);

编辑:或者,您可以根据 Andrew 的精彩评论从头创建自己的 JDialog 窗口(现在不再存在?)。

于 2013-07-27T14:09:56.167 回答