2013-05-20 3 views
1

Я только начинаю работать на Java, но сталкиваюсь с проблемами в нескольких учебниках, когда дело доходит до использования swing. Этот пример кода из Java для чайников бросил следующую ошибку:Java swing не распознан

helloapp.java:

public class helloapp 
{ 
    public static void main(String[] args) 
    { 
     greeter myGreeterObject = new greeter(); 
     myGreeterObject.sayhello(); 
    } 
} 

greeter.java

import javax.swing.JOptionPane; 

public class greeter 
{ 
    public void sayhello() 
    { 
     //System.out.println("Hello, World!"); 
     JOptionPane.showMessageDialog(null, <<Hello, World!>>, 
<<greeter>>, JOptionPane.INFORMATION_MESSAGE); 
    } 
} 

Брошенная ошибка это при компиляции:

c:\>javac helloapp.java greeter.java 
greeter.java:8: error: illegal start of expression 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 
                ^
greeter.java:8: error: ')' expected 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 
                   ^
greeter.java:8: error: illegal start of expression 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 
                   ^
greeter.java:8: error: ';' expected 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 
                    ^
greeter.java:8: error: illegal start of expression 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 
                    ^
greeter.java:8: error: ';' expected 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 

^ 
greeter.java:8: error: not a statement 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 

      ^
greeter.java:8: error: ';' expected 
       JOptionPane.showMessageDialog(null, <<Hello, World!>>, <<greeter 
>>, JOptionPane.INFORMATION_MESSAGE); 

           ^
8 errors 

Этот Учебник дал мне подобные ошибки, которые использует качание, но Frames вместо стекол: http://zetcode.com/tutorials/javagamestutorial/basics/

Проблемы произошли то же самое на Windows 7 и XP машины были использованы новейшие JDK и JRE и 32-разрядная версия была использована для XP и 64-битной на системе 7. Я включил путь переменных окружения и могу успешно использовать базовые вещи, такие как System.out.println. У машины XP были предыдущие версии JDK и JRE, но они не были предварительно запрограммированы. Я не пытался переустановить ОС, но я думаю, что это не так, поскольку система Win7 недавно установила новую версию и бросает ту же проблему. Никаких других основных прогов не было во время этого. Я использовал блокнот для прогов.

Я ценю любую помощь. Я не уверен, что еще делать, кроме языков переключения. Я надеюсь, что это просто что-то простое и тривиальное, что я забыл ...

+6

Вы случайно не говорите по-испански? При использовании Java вам нужно использовать символ '' 'для котировок. – dlev

+0

<> не является правильным синтаксисом для передачи объекта. Следуйте следующей ссылке, чтобы узнать больше о http://docs.oracle.com/javase/ 6/docs/api/javax/swing/JOptionPane.htmlJOptionPane ................. Еще одна вещь, прочитанная Документация Java для Swing. Это слишком хорошо и просто с примером –

+0

См. Также [ * guillemet *] (http://en.wikipedia.org/wiki/Guillemet). – trashgod

ответ

1
import javax.swing.JOptionPane; 

public class greeter 
{ 
    public void sayhello() 
    { 
     //System.out.println("Hello, World!"); 
     JOptionPane.showMessageDialog(null, "Hello, World!", 
"greeter", JOptionPane.INFORMATION_MESSAGE); 
    } 
} 

Строка должна быть в "" и не << >>

+0

Мастер, который вы есть, работал как шарм. Любая идея, почему <<>> была бы предложена книгой в первую очередь? Может быть, это может быть правильно по-другому, чем то, что я делаю? – user2402654

+0

нет Java не поддерживает этот синтаксис .. у книги может быть какая-то ошибка печати .. или просто пыталась выделить строку для чтения цели..Какой книге это? –

+0

Java для чайников '11. Он может быть заполнителем, но не ясен, тем более, что формулировка работает в пределах <<>> если изменено. О, хорошо ... – user2402654

1
<<Hello, World!>>, 
<<greeter>> 

не действительна java. Если они должны быть строками используют: "Hello, World"

если это переменная только этого достаточно: greeter

+0

Yup, вот и все. Я должен был добавить greeter в кавычки, хотя, в противном случае он выбросил ошибку «не могу найти символ» на приветствии. Я очень раздражен, хотя в основной учебной книге я бы использовал << >> зная, что это было неправильно. Интересно, что другие вещи, как это происходит в книге. Спасибо за помощь! – user2402654

1

Заменить

//System.out.println("Hello, World!"); 
     JOptionPane.showMessageDialog(null, <<Hello, World!>>, 
<<greeter>>, JOptionPane.INFORMATION_MESSAGE); 

с

//System.out.println("Hello, World!"); 
     JOptionPane.showMessageDialog(null, "Hello, World!", 
greeter, JOptionPane.INFORMATION_MESSAGE); // greeter is well defined string. 

В java действительная строка всегда цитируется с использованием "" кроме нуля.

+0

Спасибо за предложение. Кажется, что на этот раз сузились ошибки до одного: greeter.java:7: error: не удается найти символ. (указывает на приветствие в приведенном выше заявлении). Также я должен спросить, если <<>> неправильно для этого использования, почему он будет использоваться в книге Java для чайников на раннем уроке? – user2402654

+0

Я получил его, должен был также добавить приветствие в кавычки. Большое спасибо! – user2402654

+0

@ пользователь2402654, можно было это <<>> б/у как запись для место хранения в книге. –

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