Graphics2D & Shape - 绘制2D图形

本文介绍了如何使用Java的Graphics2D类进行2D图形绘制,包括获取Graphics2D对象、创建Shape接口实现类的对象以及绘制图形的步骤。详细讲解了Graphics2D中坐标系统的特性,如从int型到浮点型的转变,以及Rectangle2D.Float和Rectangle2D.Double子类的使用。同时列举了特殊情况下创建矩形、椭圆和直线的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Graphics2D类包含绘制直线,矩形,椭圆等方法

Component的paintComponent方法会自动获取一个Graphics2D对象,但是参数列表定义的是Graphics对象,通过强转来使用

Graphics2D g2d=(Graphics2D)g;


绘制具体图形的类 : Line2D,Rectangle2D,Ellipse2D,Point2D


绘制图形的步骤:

1.获取一个Graphics2D对象

2.创建一个实现Shape接口的图形对象,设置好其属性

3.调用Graphics2D的draw 方法


像素坐标的类型:

1.最初是int型,表示屏幕上的像素坐标

2.Java 2D库采用浮点型

a.这样可以转换成更有意义的单位,比如微米,英寸

b.屏幕使用单精度即可,而且float存储空间小,计算速度可能比double快

3.为了方便通常使用Double。 float在赋值时需要手动添加f,double型的返回值需要强转成float


所以,图形类通常有两个静态内部类作为子类Float和Double,比如Rectangle2D.Float/Rectangle2D.Double

对于这两个子类:

1.子类只覆盖了超类的方法,所以可以用超类的对象变量直接引用。Rectangle2D rect=new Rectangle2D.Double(...);

2.Rectangle2D的方法返回值都是double,引用的对象是Rectangle2D.Float的话,调用方法,比如getWidth,返回值也是double


常用(特殊)的构造图形的情况:

1.矩形 知道对角点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值