这是我的代码,它只是Tic Tac Toe游戏的一小部分程序。本部分原本是要在applet上画图,但每次都什么也没有出现。

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);
    }
}


我也尝试过其他Gobject,但没有成功。

最佳答案

run()的文档中:


  指定程序运行时要执行的代码。对于具有即使在没有用户动作的情况下也可以运行的控制线程的应用程序,例如使用控制台交互或涉及动画的程序,需要使用run方法。通过设置初始配置然后等待用户事件运行的基于GUI的程序通常不指定run方法,而是为init提供新的定义。


我读这意味着仅在应用程序时才会调用它。基于Thread(一个GraphicsProgram)创建一个Runnable并显式调用Thread.start()

将其更改为init(),它应该可以工作。 init方法由加载小程序的Java虚拟机显式调用。

09-10 07:41
查看更多