我有一个使用JOptionPane.show*
方法通知的应用程序
用户在显示应用程序主窗口之前的各种条件。
在多屏幕设置中,这些始终显示在第一个屏幕上。这通常只是
一个轻微的烦恼,但在0屏幕关闭或断开连接时会出现问题。
使用获得的GraphicsConfiguration
可以正确放置普通窗口
通过MouseInfo
,但我无法找到将其传递给JOptionPane
的方法。我可以
不要使用主窗口来锚定对话框,因为没有主要的
应用程序启动阶段的窗口。可能的对话框之一是
关于过时的java版本的警告,所以在显示之前显示主窗口
错误不是选项,因为用户的java运行时甚至可能无法使用
显示主窗口。
有没有办法在不重新实现主要部分的情况下指定目标屏幕
是JOptionPane
?
答案 0 :(得分:3)
您可以从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窗口。