对于学校项目,我需要创建一个产生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。我只是在寻找一些关于我应该在着色过程中考虑什么的建议,因为这实际上是我必须继续进行的。谢谢!
答案 0 :(得分:0)
applet使用类Graphics进行绘制,并在paint
方法中传递一个实例。您可以使用Graphics
在屏幕上执行许多很酷的操作,因此请检查其方法!但要绘制彩色正方形,首先使用g.setColor(color)
设置颜色,然后使用g.fillRect(xLoc, yLoc, size, size)
和xLoc,yLoc是正方形的左上角坐标。
答案 1 :(得分:0)
Albert为我提供了完成此操作所需的Graphics方法作为applet。但是在阅读了所提供的评论和链接之后,看起来我只是使用Swing而不是AWT。