как установить позицию JOptionPane

Я создаю это JOptionPane

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

но мой JFrame большой, поэтому его можно прокручивать. Когда я вызываю эту команду, в правом нижнем углу создается окно, и я вижу только заголовок. Как я могу изменить положение этого JOptionPane?


person hudi    schedule 15.11.2011    source источник
comment
вы можете изменить this на любое JComponent, например, объявленное как локальная переменная, затем вы можете передать JOptionPane.showMessageDialog(myButton, "File..., JOptionPane должен быть вызван в EDT   -  person mKorbel    schedule 16.11.2011
comment
да, спасибо, я меняю это на ноль, и теперь оно находится в середине, спасибо, но вы отвечаете в комментарии, и я не могу закончить этот вопрос :)   -  person hudi    schedule 16.11.2011


Ответы (2)


Согласно API 1.6:

первый параметр — parentComponent:

Определяет компонент, который должен быть родителем этого диалогового окна. Он используется двумя способами: кадр, который его содержит, используется в качестве родительского кадра для диалогового окна, а его экранные координаты используются для размещения диалогового окна. Как правило, диалоговое окно размещается сразу под компонентом. Этот параметр может быть нулевым, и в этом случае в качестве родительского используется кадр по умолчанию, а диалоговое окно будет центрировано на экране (в зависимости от L&F).

Таким образом, нет параметра для установки положения JOptionPane, но вы можете по крайней мере передать null в качестве первого параметра, чтобы убедиться, что ваш JOptionPane хорошо виден и центрирован.

person Renaud Dumont    schedule 15.11.2011
comment
да нуль помогает мне сейчас это в середине - person hudi; 16.11.2011

Вы можете создать JDialog из JOptionPane (см. API JOptionPane, чтобы узнать, как это сделать), а затем отобразить его в любом месте, как вы можете с помощью любого JDialog. Кстати, возможно, вы захотите уменьшить размер JFrame, используя JTabbedPanes или CardLayout, чтобы не было этой проблемы.

person Hovercraft Full Of Eels    schedule 15.11.2011