Я изучаю Java и понятия не имею, как это сделать.

Я перетащил кнопку на форме в Netbeans, дважды щелкнул по ней, и она создала это событие:

@Action
public void HelloClickMethod() 
{
    JOptionPane.showMessageDialog(this, "The message!", "This is supposed to be the MessageBox title."); 
}

Это исключение, которое вызывает IDE.

Не могу найти символ. Символ: showMessageDialog ()

Изменить 1> Теперь я изменил его на это:

@Action
public void HelloClickMethod()
{
    JOptionPane.showMessageDialog(this, "The message!", "This is supposed to be the MessageBox title.",JOptionPane.ERROR_MESSAGE);
}

Однако IDE сообщает, что у меня есть ошибка в слове «это». "Не могу найти символ". Я не понимаю. Почему это так сложно и почему ошибки так эзотеричны. :П

1
Sergio Tapia 16 Янв 2010 в 07:48
Сообщения компилятора всегда выглядят эзотерически, если вы новичок в языке. Проблема в том, что ни один компилятор не может знать, что, по вашему мнению, вы пытаетесь написать.
 – 
Stephen C
16 Янв 2010 в 08:06

3 ответа

Лучший ответ

Я могу думать о следующей причине: возможно, вы не «импортируете» пакет, содержащий JOptionPane. Пытаться:

 import javax.swing.*;

Поверх исходного файла. Или используйте

javax.swing.JOptionPane.showMessageDialog(this, "The message!", "This is supposed to be the MessageBox title.", JOptionPane.ERROR_MESSAGE);

После редактирования вопрошающего:

Другой причиной является расположение метода, если вы находитесь в статическом контексте, вы не можете использовать this.

5
Anzurio 16 Янв 2010 в 08:06
1
Оглядываясь назад на отсталость моего вопроса, очень унизительно. Кончик! Никогда не смотрите на код / ​​вопросы, которые вы написали в прошлом, вы только покраснетесь. Хахахаха.
 – 
Sergio Tapia
10 Авг 2010 в 16:44

Метод showMessageDialog не принимает 3 параметра. Попробуй это:

  JOptionPane.showMessageDialog(this, "The message!", "This is supposed to be the MessageBox title.", JOptionPane.ERROR_MESSAGE);

Существует 3 метода с именем showMessageDialog, один с 2 параметрами (компонент и сообщение), 4 параметра (компонент, сообщение, заголовок, тип сообщения) и 5 ​​параметров (компонент, сообщение, заголовок, тип сообщения, значок).

0
Vincent Ramdhanie 16 Янв 2010 в 07:53
У меня нет javac на этом компьютере, но я почти уверен, что он может принимать 3 аргумента. java.sun.com/docs/books/tutorial/uiswing/components/dialog.html
 – 
Anzurio
16 Янв 2010 в 07:56
Я смотрю документы API java.sun.com /javase/7/docs/api/javax/swing/JOptionPane.html и всего 3 метода? Я вижу учебник, в котором показан код с 3 параметрами, но ... я должен проверить.
 – 
Vincent Ramdhanie
16 Янв 2010 в 14:01
OK. Я проверил. У меня установлен javase6, и он не позволяет использовать версию с 3 параметрами, указанную в руководстве.
 – 
Vincent Ramdhanie
16 Янв 2010 в 14:03

Это отлично работает:

JOptionPane.showMessageDialog(null,"ErrorMSG", "Title!", JOptionPane.WARNING_MESSAGE)
0
Kaito 9 Апр 2014 в 15:22