Java 绘制恒定大小的数组?
我在做一些相当简单的事情时遇到了困难,比如画一组元素。下面是我在类中使用数组绘制方法的内容:(Java 绘制恒定大小的数组?,java,arrays,graphics,paint,Java,Arrays,Graphics,Paint,我在做一些相当简单的事情时遇到了困难,比如画一组元素。下面是我在类中使用数组绘制方法的内容:(xB和yB只是x和y的值,我想增加它们以使实例显示在不同的位置) 每次我运行它时,它都会告诉我在框[I].paint(pane,xB,yB)行中有一个NullPointerException。我做错了什么?您正在创建一个Box数组,但没有在其中放入任何内容。默认情况下,每个元素都为null。您需要一个循环来执行类似于Box[0]=newbox()的操作Box[1]=newbox()等等…@takenda
xB
和yB
只是x
和y
的值,我想增加它们以使实例显示在不同的位置)
每次我运行它时,它都会告诉我在
框[I].paint(pane,xB,yB)
行中有一个NullPointerException
。我做错了什么?您正在创建一个Box
数组,但没有在其中放入任何内容。默认情况下,每个元素都为null。您需要一个循环来执行类似于Box[0]=newbox()的操作代码>Box[1]=newbox()代码>等等…@takendark是的,明白了。谢谢!
public void paint(Graphics pane) {
private Box[] boxes = new Box[NUM_BOX];
for(int i = 0; i<NUM_BOX; i++){
if (xB == 290){
xB = 0;
yB = yB + 20;
}
boxes[i].paint(pane, xB, yB);
xB = xB + 20;
}
public class Box {
private final int WIDTH = 20;
private final int HEIGHT = 20;
private boolean up = true;
public void paint(Graphics pane, int x, int y) {
pane.setColor(Color.black);
pane.drawRect(x, y, WIDTH, HEIGHT);
pane.setColor(Color.gray);
pane.fill3DRect(x +2, y+2, WIDTH - 3, HEIGHT - 3, up);
}
}