1

これは私のコードです。Tic Tac Toe ゲームのプログラムのほんの一部です。この部分はアプレットにボードを描画するはずなのですが、毎回何も表示されません。

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

public class TTTb extends GraphicsProgram {

    private double Height = getHeight();
    private double Width = getWidth();
    private static int col_num = 3;
    private static int row_num = 3;

    public void run() {
        GLine Border1 = new GLine(0, Height/3, Width, Height/3);
        GLine Border2 = new GLine(0, Height*2/3, Width, Height*2/3);
        GLine Border3 = new GLine(Width/3, 0, Width/3, Height);
        GLine Border4 = new GLine(Width*2/3, 0, Width*2/3, Height);
        add(Border1);
        add(Border2);
        add(Border3);
        add(Border4);
    }
}

他の Gobjects も試しましたが、成功しませんでした。

4

2 に答える 2

0

のドキュメントからrun():

プログラムの実行時に実行するコードを指定します。このrunメソッドは、コンソール インタラクションを使用するプログラムやアニメーションを含むプログラムなど、ユーザー アクションがなくても実行される制御スレッドを持つアプリケーションに必要です。初期構成を設定して動作し、ユーザー イベントを待機する GUI ベースのプログラムは、通常、runメソッドを指定せず、代わりに新しい定義を提供しinitます。

アプリの場合にのみ呼び出されることを意味すると読みました。(a )Threadに基づいて を作成し、明示的に を呼び出します。GraphicsProgramRunnableThread.start()

に変更するとinit()、動作するはずです。このinitメソッドは、アプレットをロードする Java 仮想マシンによって明示的に呼び出されます。

于 2014-02-10T01:55:23.080 に答える