java画图问题
程序代码:import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
//游戏画布类
public class GameWinPanel extends JPanel{
int [][] scrArr;
int rowNum; //行数
int columnNum; //列数
public GameWinPanel(){
rowNum = 14;
columnNum = 10;
scrArr = new int[rowNum][columnNum];
for (int i=0; i<rowNum; i++)
for (int j=0; j<columnNum; j++)
scrArr[i][j] = 0;
}
public void paint(Graphics g)
{
super.paint(g);
g.draw3DRect(0, 0, 301, 421, false);
for (int i=0; i<14; i++)
for (int j=0; j<10; j++)
drawUnit(i, j, scrArr[i][j]);
}
public void drawUnit(int row, int col, int type){
Graphics g = getGraphics();
switch(type){
case 0:g.fill3DRect(col*30+1, row*30+1, 30, 30, false);break;
case 1:g.fill3DRect(col*30+1, row*30+1, 30, 30, true);break;
}
g.dispose();
}
}为什么drawUnit这个函数调用不了导致画不了图?如果把
switch(type){
case 0:g.fill3DRect(col*30+1, row*30+1, 30, 30, false);break;
case 1:g.fill3DRect(col*30+1, row*30+1, 30, 30, true);break;
}
直接用,就是不用函数的形式来调用,程序可以运行的,跪求各位高手帮忙解决。
这是一部分代码而已,如果要调试可以新建一个窗口类JFrame,把这个类添加到JFrame上面就可以了,还有主函数哦~~






