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 がありましたが、以前はアンインストールされていました。OS の再インストールは試していませんが、最近 Win7 システムを新しくインストールしたところ、同じ問題が発生したため、そうではないと考えています。この間、他の主要なプログラムは実行されていませんでした。プログラムにはメモ帳を使用しました。

助けていただければ幸いです。ここで言語を切り替える以外に何をすべきかわかりません。私が見落としていた単純で些細なことであることを願っています...

4

3 に答える 3

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 に答える