2013-12-25 2 views
0

Я получаю сообщение об ошибке:JOptionPane Диалоговое окно Ошибка

The method showMessageDialog(Component, Object, String, int, Icon) in the type 
    JOptionPane is not applicable for the arguments (JFrame, String, String, int, int, ImageIcon, String) 

Когда я парить над JOptionPane.showMessageDialog. Я следил за учебником java и не знаю, в чем проблема. Есть идеи?

Java учебник: http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html#button

String option = "Restart"; 
JFrame frame = new JFrame(); 
ImageIcon ic = new ImageIcon("hangmanIcon.png"); 
JOptionPane.showMessageDialog(frame, 
     "He's dead, game over. The word was " + wordList[level], 
     "You Lost", 
     JOptionPane.OK_OPTION, 
     JOptionPane.INFORMATION_MESSAGE, 
     ic, 
     option); 

ответ

4

Java API for JOptionPane расскажет вам, какой метод подпись доступна/разрешено, и этот метод подпись не один. Вы, вероятно, хотите, чтобы использовать эту вместо:

public static void showMessageDialog(Component parentComponent, 
       Object message, 
       String title, 
       int messageType, 
       Icon icon) 
          throws HeadlessException 

Редактировать

Возможно, что вы хотите использовать вместо этого не showMessageDialog, а скорее showOptionDialog, который действительно позволяет для более параметров.

String[] options = {"Restart", "Exit"}; 
String option = options[0]; 
JFrame frame = new JFrame(); 
ImageIcon ic = new ImageIcon("hangmanIcon.png"); 
JOptionPane.showMessageDialog(frame, 
     "He's dead, game over. The word was " + wordList[level], 
     "You Lost", 
     JOptionPane.OK_OPTION, 
     JOptionPane.INFORMATION_MESSAGE, 
     ic, 
     options, 
     option); 
+0

Есть ли более простой способ сделать это? Учебное пособие по java-учебнику было намного проще. – Anon

+1

@ Не так ли сложно заполнить пробелы? –

+0

@ Аньон: см. Править. Ознакомьтесь с API для метода showOptionDialog. Это, вероятно, то, что вы хотите. –

Смежные вопросы