JAVA代码出错 求大神解答

根据视频做的程序,完全一样的代码,死活运行不出来。求大神解答。

JAVA代码如下:

package com.five;

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
public class test extends Frame {
static Point[][] points = new Point[20][20];

static{
//就是下面这三行
points[0][0]=new Point(50,50);
points[0][1]=new Point(50,50);
points[0][2]=new Point(50,50);
}

public void paint(Graphics g){
for(int i=0;i<points.length;i++){
g.drawLine(points[i][0].getX(), points[i][0].getY(), points[i][19].getX(), points[i][19].getY());
}
}

private void launchFrame(){
this.setSize(500,500);
this.setLocation(200,100);
this.setBackground(Color.gray);
this.setTitle("五子棋");
this.setVisible(true);
this.setResizable(false);
}
public static void main(String[] args) {
new test().launchFrame();
}

}

你代码中这一行有问题:

g.drawLine(points[i][0].getX(), points[i][0].getY(), points[i][19].getX(), points[i][19].getY());

drawLine()方法里面要传4个int类型的参数,而你传的是double类型的,改成如下的就可以运行了:

 g.drawLine((int)points[i][0].getX(), (int)points[i][0].getY(), (int)points[i][19].getX(), (int)points[i][19].getY());

温馨提示:答案为网友推荐,仅供参考
相似回答