绘制几何图形
《零基础学Java》
-
绘制几何图形
Java可以分别使用 Graphics 和 Graphics2D 绘制图形,Graphics类 使用不同的方法绘制不同的图形(drawLine()方法可f以绘制线、drawRect()方法用于绘制矩形、drawOval()方法用于绘制椭圆形)。
Graphics类常用的图形绘制方法:
Graphics2D类 继承 Graphics类,它包含 Graphics类 的绘图方法并增加了更强大的功能,在创建绘图类时推荐使用该类。Graphics2D类可以分别使用不同的类来表示不同的形状,如Line2D、Rcctangle2D等。
绘制指定形状的图形,先需要创建并初始化该图形类的对象,这些图形类必须是Shape接口的实现类,然后使用Graphics2D类的drav()方绘制该图形对象或者使用fill()方法填充该图形对象。
drav()、fill()语法:
drav(Shapae form); fill(Shapae form); //填充 /** * form是指实现Shape接口的对象.java.awt.gcom包中提供了如下一些常用的图形类,这些图形类都实现了Shape接口; * Arc2D:存储所有2D弧度的对象的抽象超类,其中2D弧度由窗体矩形、起始角度、角跨越(弧的长度)和闭合类型(OPEN、CHORD或PIE)定义. * CubicCurve2D:定义(x,y)坐标空间内的三次参数曲线段。 * Ellipse2D:描述窗体矩形定义的椭圆。 * Line2D:(x,y)坐标空间中的线段。 * Path2D:提供一个表示任意几何形状路径的简单而又灵活的形状。 * QuadCurve2D:定义(x,y)坐标空间内的二次参数曲线段。 * Rectangle2D:描述通过位置(x,y)和尺寸(w,x,h)定义的矩形。 * RoundRectangle2D:定义一个矩形,该矩形具有由位置(x,y)、尺寸(w,x,h)以及圆角弧的宽度和高度定义的圆角。 */
绘制几何图形 实例:
import javax.swing.*; import java.awt.*; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; public class Demo extends JFrame { public Demo(){ super(); init(); } public void init(){ this.setSize(500,300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("绘制几何图形"); MyCabvas c = new MyCabvas(); //创建一个画布类的对象 add(c); } public static void main(String[] args) { new Demo().setVisible(true); } private class MyCabvas extends Canvas{ //创建画布类 @Override public void paint(Graphics g) { Graphics2D g2 = (Graphics2D)g; //新绘图类 g2.drawOval(5,5,100,100); //画 圆形 g2.drawRect(15,15,80,80); //画 矩形 g2.fillRect(15,15,80,80); //画 矩形 填充式 // g2.drawArc(320,25,100,50,270,200); //画 弧形 (startAngle:开始角度、arcAngle:跨越角度) g2.fillArc(320,25,100,50,270,200); //画 弧形 填充式 (startAngle:开始角度、arcAngle:跨越角度) g2.drawLine(5,120,100,120); //画 直线 横 g2.drawLine(50,120,50,200); //画 直线 竖 // g2.drawRoundRect(120,120,100,50,10,10); //画 圆角矩形 (arcWidth:水平直径、arcHeight:弧度直径) g2.fillRoundRect(120,120,100,50,10,10); //画 圆角矩形 填充式 (arcWidth:水平直径、arcHeight:弧度直径) int x[] = {250,300,250,300}; int y[] = {130,130,200,200}; g2.drawPolygon(x,y,4); //画 多边形 (nPonts:有多少个点) g2.fillPolygon(x,y,4); //画 多边形 填充式 (nPonts:有多少个点) // g2.drawPolyline(x,y,4); //画 多边线 /* 图形对象 */ Shape shape1 = new Rectangle2D.Double(110,5,100,100); //矩形图形对象 // g2.draw(shape1); //画 shape1 这个图形 g2.fill(shape1); //画 shape1 这个图形 填充式 Shape shape2 = new Ellipse2D.Double(220,15,80,80); //圆形图形对象 g2.draw(shape2); } } }
绘制几何图形 实例 输出结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理