我有一个使用JOptionPane.show *方法通知的应用程序
用户在显示应用程序主窗口之前的各种条件.
在多屏幕设置中,这些始终显示在第一个屏幕上.这通常只是
一个轻微的烦恼,但在0屏幕关闭或断开连接时出现问题.
可以使用获得的GraphicsConfiguration正确放置正常窗口
通过MouseInfo,但我找不到将其传递给JOptionPane的方法.我可以
不要使用主窗口来锚定对话框,因为没有主要的
应用程序启动阶段的窗口.可能的对话框之一是
关于过时的java版本的警告,所以在显示之前显示主窗口
错误不是选项,因为用户的java运行时甚至可能无法使用
显示主窗口.
有没有办法在不重新实现主要部分的情况下指定目标屏幕
JOptionPane?
解决方法:
您可以从JOptionPane创建一个JDialog,然后在任何您想要的位置显示该对话框.
JOptionPane pane = new JOptionPane(arguments);
pane.set.Xxxx(...); // Configure
JDialog dialog = pane.createDialog(parentComponent, title);
// here set the dialog's location
dialog.setVisible(true);
编辑:或者,您可以根据安德鲁的精彩评论(现在不再存在?)从头创建自己的JDialog窗口.