在Java

时间:2017-04-08 02:52:01

标签: java applet awt java-2d

对于学校项目,我需要创建一个产生10 x 10网格的小程序,其中每个单元格将根据某些线程在后台执行的操作来改变颜色。我已经完成了所有其他的事情,但我对如何显示这个网格没有丝毫的线索。这是我们给出的唯一示例代码:

import java.awt.*;
import java.applet.Applet;

public class Array2 extends Applet {
  private final ststic int LIMIT = 9;
  private int[][] results;

  public void init() {
    int count = 1;
    results = new int [LIMIT][LIMIT];

    for (int i = 0; i < LIMIT; i++) {
      for (int j = 0; j < LIMIT; j++) {
        results[i][j] = count % 2;
        count++;
      }
    }
  }

  public void paint (Graphics g) {
    int xLoc = 25;
    int yLoc = 25;

    for (int i = 0; i < LIMIT; i++) {
      for (int j = 0; j < LIMIT; j++) {
        g.drawString(Integer.toString(results[i][j]), xLoc. yLoc);
        xLoc += 20;
      }
      xLoc = 25;
      yLoc += 20;
    }
  }
}

这样就会打印出一个空白的2 x 2网格。这很容易修改为10 x 10.然而,我不知道该怎么做才是为正方形着色。我搜索的所有内容都提到了使用jPanel或jFrames或者其他东西,但是这是一个applet。我只是在寻找一些关于我应该在着色过程中考虑什么的建议,因为这实际上是我必须继续进行的。谢谢!

2 个答案:

答案 0 :(得分:0)

applet使用类Graphics进行绘制,并在paint方法中传递一个实例。您可以使用Graphics在屏幕上执行许多很酷的操作,因此请检查其方法!但要绘制彩色正方形,首先使用g.setColor(color)设置颜色,然后使用g.fillRect(xLoc, yLoc, size, size)和xLoc,yLoc是正方形的左上角坐标。

答案 1 :(得分:0)

Albert为我提供了完成此操作所需的Graphics方法作为applet。但是在阅读了所提供的评论和链接之后,看起来我只是使用Swing而不是AWT。