如何设置JOptionPane的位置

时间:2011-11-15 22:22:43

标签: java swing joptionpane

我正在创建此JOptionPane

JOptionPane.showMessageDialog(this, "File was saved", "Save", 
   JOptionPane.INFORMATION_MESSAGE);

但我的JFrame很大,所以它是可滚动的。当我调用此命令时,会在右下角创建一个窗口,我只能看到标题。我如何更改此JOptionPane的位置?

2 个答案:

答案 0 :(得分:5)

根据api 1.6:

  

第一个参数是 parentComponent

     

定义要作为此对话框的父级的Component。它以两种方式使用:包含它的Frame用作对话框的Frame父级,其屏幕坐标用于放置对话框。通常,对话框位于组件的正下方。此参数可以为null,在这种情况下,默认的Frame用作父级,对话框将在屏幕上居中(取决于L& F)。

因此,没有参数可以设置JOptionPane的位置,但您至少可以将null作为第一个参数传递,以确保您的JOptionPane可见且居中。

答案 1 :(得分:3)

您可以从JOptionPane创建一个JDialog(请参阅JOptionPane API以了解如何执行此操作),然后将其显示在您想要的任何位置,就像使用任何JDialog一样。顺便说一句,也许你想通过使用JTabbedPanes或CardLayout来缩小你的JFrame,这样你就不会遇到这个问题。