首先,点动成线,也就是如果把一条线花短一点就可以类似一个点。
其次,点的大小问题,就像windows自带的画图一样,点的大小是可以改变的,很灵活,用代码写很麻烦。
在其次,Graphics虽说没有点,但是你画一个实心的圆就是点了
g.fillOval( x, y, width, height);...
最后,点是特别特殊的,因为是实心的,画大点就是一个小圆,画小点又不好看,所以干脆就不提供画点的方法了。
因为Graphics类不需要画点函数,可以通过其他函数实现。
可以使用fill()方法,定义一个专门画点的函数。
代码如下:
public void drawPoint(int x,int y,Graphics G){
Shape shape = new Rectangle2D.Double(x,y,1,1);
((Graphics2D)G).fill(shape);
}
或可规定颜色的
public void drawPoint(int x,int y,Graphics G,Color c){
Shape shape = new Rectangle2D.Double(x,y,1,1);
G.setColor(c);
((Graphics2D)G).fill(shape);
}
这样画出来的是一个很小的长方形,看上去就像点一样。
数学上的点是没有实体的,也就是无限小的一个概念,
现实的点实际上是用圆来表示点.
就像直线是没有宽度一样,没有宽度的直线相交,得到的点既没有长度,也没有宽度.
为了在显示器上表示这样的点有两种方案.
line(x,y,x,y+1);//注意,根据需要,只有一个维度+1,这样得到的只有一个像素点.
如果不+1,这条直线实际上就是不存在的.
这样,得到的就是一个点,在显示屏上,长和宽为1就是一个像素点,显然我们无法得到比一个像素点更小的点了.
不建议用
circle(x,y,r);取点,r的最小值为1,得到的点最小为4个像素点,而且,计算机还要用π计算
除此之外,画点的其他方法我还在寻找中.
fillOval
public abstract void fillOval(int x,
int y,
int width,
int height)
使用当前颜色填充外接指定矩形框的椭圆。
参数:
x - 要填充椭圆的左上角的 x 坐标。
y - 要填充椭圆的左上角的 y 坐标。
width - 要填充椭圆的宽度。
height - 要填充椭圆的高度。
你把width,height 设置为相差1 不就是点了