class Triangle extends drawings//空心三角形类
{
void draw(Graphics2D g2d)
{g2dsetPaint(new Color(R,G,B));
g2dsetStroke(new BasicStroke(stroke,
BasicStrokeCAP_ROUND,BasicStrokeJOIN_BEVEL));
g2ddrawLine((int)((x1+x2)/2),Mathmin(y1,y2),Mathmax(x1,x2),Mathmax(y1,y2));
g2ddrawLine(Mathmax(x1,x2),Mathmax(y1,y2),Mathmin(x1,x2),Mathmax(y1,y2));
g2ddrawLine(Mathmin(x1,x2),Mathmax(y1,y2),(int)((x1+x2)/2),Mathmin(y1,y2));
}
}
以上是通过绘制三条直线作为三角形的三条边来绘制三角形
class fillTriangle extends drawings//实心三角形
{
void draw(Graphics2D g2d)
{g2dsetPaint(new Color(R,G,B));
g2dsetStroke(new BasicStroke(stroke));
int mx=(int)((x1+x2)/2);
int[] x={mx,Mathmax(x1,x2),Mathmin(x1,x2)};
int[] y={Mathmin(y1,y2),Mathmax(y1,y2),Mathmax(y1,y2)};
g2dfillPolygon(x,y,3);
}
}
以上是用填充多边形的方式填充一个三角形,如果把最后的:g2dfillPolygon(x,y,3)改为g2ddrawPolygon(x,y,3); 则是以绘制多边形的方式绘制空心三角形
这里说明一下:因为(x1,y1,x2,y2)只能确定一个矩形区域,即鼠标拉动的起点和终点确定的矩形区域所以可以有多种方式确定三角形的三个顶点,我这个用的三个顶点是:
点1( (x1+x2)/2, min(y) ) 点2( max(x),max(y) ) 点3( min(x),max(y) )
你的补充内容太多了,没心情看啊,太累了
以上就是关于编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);全部的内容,包括:编写一个绘图java 小程序,用户点击某一按钮后,程序绘制相应的图形(如点击"画圆",则绘制圆形);、JAVA画图板程序,用netbeans做,要求画圆,椭圆,直线,三角形,矩形,可以填充颜色和擦除、一段java程序,求高手帮我写个画图程序,急。。。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)