假如你想在某个JPanel上画图,可以这样写:
private JPanel canvas;//画布
private Graphics2D pen;//绘图工具
private void init(){
canvas = new JPanel();
//以下是画一个白色棋子
pen = (Graphics2D)canvas.getGraphics();
pen.setColor(new Color(230,230,230));
pen.fillRoundRect(dx-35, dy-35, 30, 30, 30, 30);
//或者你也可以重写JPanel的paint方法,以下是对JPanel绘制一个棋盘
// canvas = new JPanel(){
// @Override
// public void paint(Graphics g) {
// // TODO Auto-generated method stub
// super.paint(g);
// Graphics2D pen = (Graphics2D)g;
// pen.setColor(new Color(235,215,195));
// pen.fillRect(0, 10, 650, 640);
// pen.setColor(Color.darkGray);
// pen.setStroke(new BasicStroke(4));
// pen.drawLine(0, 10, 980, 10);
// pen.setStroke(new BasicStroke(2));
// for(int i=0;i<=600;i+=40)
// pen.drawLine(30, 30+i, 630, 30+i);
// for(int j=0;j<=600;j+=40)
// pen.drawLine(30+j, 30, 30+j, 630);
// }
// };
// }
自己一个一个敲的,很辛苦的哦 ^ _ ^ 希望对你有帮助,不懂可以追问,我尽力
Graphics g 就像是一只画笔,你要调用他,一般首先给他set颜色 ,然后fill指定图形,例如:
g.setColor(Color.BLUE);
g.fillRect(20, 20, 40, 40);
就是在20,20的位置画了一个长度和宽度都为40的蓝色的矩形