2013-05-20 162 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 

这个教程给了我它采用摆动,但帧数而不是窗格类似的错误:发生 http://zetcode.com/tutorials/javagamestutorial/basics/

的问题在Windows 7和XP的机器上是相同的,最新的JDK和JRE使用,并用于XP和64位的32位版本在7系统上。我确实包含了环境变量路径,并且可以成功使用诸如System.out.println这样的基本东西。 XP机器有JDK和JRE以前的版本,但是之前没有进行过注销。我没有尝试重新安装操作系统,但我想这不是因为Win7系统最近有一个全新的安装,并引发同样的问题。在此期间没有其他主要的编程正在运行。我使用记事本进行编程。

我很感激任何帮助。除了开关语言之外,我不确定除此之外还有什么其他功能。我希望它只是简单而平凡,我忽略了...

+6

你是否有机会说西班牙语?当使用Java时,您需要使用'''字符作为引号。 – dlev

+0

<>不是传递Object的正确语法。请按照以下链接了解关于http://docs.oracle.com/javase/的更多信息。 6/docs/api/javax/swing/JOptionPane.htmlJOptionPane .................阅读Swing的Java文档还有一件事用示例 –

+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 for Dummies '11。它可能是一个占位符,但不清楚,特别是因为如果改变了话,它可以在<<>>内工作。噢... – user2402654

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

是无效的java。如果这些都应该是字符串使用:"Hello, World"

,如果它是一个变量只是这足以:greeter

+0

是的,就是这样。尽管如此,我也不得不引用欢迎词,否则它会在欢迎辞中抛出“无法找到符号”的错误。我很烦恼,虽然一本基本的指导书会让我使用<< >>知道这是不正确的。我想知道这本书中还有哪些其他项目会发生。谢谢您的帮助! – 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:错误:无法找到符号。 (在上面的陈述中指向迎宾)。 另外我不得不问,如果<<>>这个用法是错误的,为什么它会在早期课程中用于Java for Dummies书籍? – user2402654

+0

我明白了,也不得不引用欢迎词。非常感谢你! – user2402654

+0

@ user2402654,可能是<<>>用作书籍中占位符的符号。 –