Пользовательский заголовок в диалогах сообщений JOptionPane - PullRequest
1 голос
/ 10 января 2012

При работе с JOptionPane в Java, как сделать пользовательский заголовок в диалоге сообщения? В настоящее время у меня есть:

JOptionPane.showMessageDialog(null, "You won the game in " + tries + " tries!");

Я попытался добавить другой параметр, и он выдал ошибку. Есть идеи?

Ответы [ 4 ]

13 голосов
/ 10 января 2012

Попробуйте это

JOptionPane.showMessageDialog(null, "You won the game in 7 tries!", "my title", JOptionPane.INFORMATION_MESSAGE);

Вам необходимо указать тип сообщения (4-й параметр), чтобы свинг знал, какой значок по умолчанию отображать.

5 голосов
/ 10 января 2012

Вот правильный синтаксис для диалога с заголовком:

JOptionPane.showMessageDialog(null, "This is the message", "This is the title", JOptionPane.INFORMATION_MESSAGE);
//                          Component; Text to appear in window; Title;            This is the type of dialog (can be error, as well)

Обратите внимание, что есть четыре параметра, а не три (не существует метода с тремя параметрами, как объяснил @Sanjay)

4 голосов
/ 10 января 2012

В случае неудачи мыслей у нас есть JavaDocs для ссылки, которая говорит:

showMessageDialog(Component parentComponent,
                     Object message,
                     String title,
                     int messageType)

Кстати, ваша мысль была правильной :), но заметьте,

  1. Не существует метода с тремя параметрами, , но у него есть четыре параметра, и да, третий - это заголовок для диалога в виде строки.
  2. Параметры не разделены +, а ,
0 голосов
/ 11 апреля 2017

Я пробовал это так:

JOptionPane.showMessageDialog(frame,message,title, JOptionPane.INFORMATION_MESSAGE);

где

JFrame frame = new JFrame();
String message = "Population: "
String title = "City Info:"
JOptionPane.INFORMATION_MESSAGE is messageType
...