1

我刚开始使用 Java,但在使用 Swing 时遇到了多个教程中的问题。这个来自 Java for Dummies 的示例代码引发了以下错误:

helloapp.java:

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

迎接者.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 使用 32 位版本,7 系统上使用 64 位版本。我确实包含了环境变量路径,并且可以成功使用 System.out.println 之类的基本内容。XP 机器具有以前版本的 JDK 和 JRE,但之前没有安装它们。我没有尝试重新安装操作系统,但我认为这不是因为 Win7 系统最近进行了全新安装并引发了同样的问题。在此期间,没有其他主要的 progs 正在运行。我使用记事本进行编排。

我很感激任何帮助。除了切换语言之外,我不确定这里还能做什么。我希望它只是我忽略的一些简单而微不足道的事情......

4

3 回答 3

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

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

如果它是一个变量,这就足够了: greeter

于 2013-05-20T18:12:01.020 回答
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);
    }
}

字符串应该在 ""而不是<< >>

于 2013-05-20T18:12:02.580 回答
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 中,有效字符串始终使用 "" 引用,但 null 除外。

于 2013-05-20T18:13:44.113 回答