当前位置: 代码迷 >> Java相关 >> java画图问题
  详细解决方案

java画图问题

热度:220   发布时间:2013-03-22 23:44:16.0
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上面就可以了,还有主函数哦~~
搜索更多相关的解决方案: java  画图  color  

----------------解决方案--------------------------------------------------------
高手都在哪里啦~~~???
----------------解决方案--------------------------------------------------------
drawUnit(i, j, scrArr[i][j]);//你调用的实参是数组


public void drawUnit(int row, int col, int type)//而你定义的行参。。。。
----------------解决方案--------------------------------------------------------
回复 3楼 navy2013
scrArr[i][j]这个传进去的是一个int类型的数,如果传一个数组是drawUnit(i,j,scrArr);这样传吧~有没有解决办法~~??这问题烦了我很久咯~
----------------解决方案--------------------------------------------------------
没人能解答么?
----------------解决方案--------------------------------------------------------
  相关解决方案