0

私はJavaの世界の初心者であり、これは私の最初のプログラムの1つです(Hello World、明らかに!)。問題は、再生アイコンが表示されたメニューからこのプログラムをクラスとして実行しようとすると、「Hello World」が表示されていない空白のウィンドウが表示されることです(ウィンドウが白い色で塗りつぶされているだけです)。このウィンドウの下の境界線には、黒い太い線があります。しかし、このプログラムを同じメニューからアプレットとして実行すると、すべてが正常であり、「Hello World」が正しい位置に表示され、すべてが正常です。しかし、どうすればプログラムをクラスとして定期的に実行させることができますか?

これは私のコードです...

import acm.graphics.*;
import acm.program.*;
import java.awt.*;

public class HelloProgram extends GraphicsProgram {

    private static final long serialVersionUID = 1L;

    public void run() {
        GLabel label = new GLabel("hello, world", 100, 75);
        label.setFont("SansSerif-36");
        label.setColor(Color.RED);
        add(label);
    }

}
4

3 に答える 3

2

acmについてはわかりませんが、次のページを参照してください:http: //jtf.acm.org/tutorial/Introduction.html

ご覧のとおり、GraphicsProgramはJAppletのサブクラスであるため、デスクトップアプリケーションではなく、アプレットとして実行されることになっています。

于 2012-06-19T20:16:12.060 に答える
0

これを試して。別のクラスになりますが、このクラスからプログラムを実行することができます。混乱している場合はお知らせください。

public class Runner{
   public static void main(String[] args){
   HelloProgram p = new HelloProgram();
   p.run();
   }
}
于 2012-06-19T20:15:53.560 に答える
0

私はpubl1c_stat1cに同意します。あなたのプログラムには、スタンドアロンアプリケーションと見なされるための「メイン」メソッドがありません。

  1. アプリケーションのインスタンスを作成します

    HelloProgram hello = new HelloProgram();

  2. インスタンスのrunメソッドを呼び出す

    hello.run();

メインメソッドは別のクラスにある必要はありません。「runmethod」と「」の間に以下のコードを追加してみてくださいprivate static final long serialVersionUID = 1L;

public static void main(String[] args){
    HelloProgram hello = new HelloProgram();
    hello.run();
}
于 2012-06-19T20:44:40.453 に答える