awt的绘图组件_绘图原理

很多程序如各种游戏需要在窗口中绘制各种图形,除此之外,及时要开发JavaEE项目时,有时候也必须"动态"地向客户端生成各种图形、图标,比如: 图形验证码、统计图等,这都需要利用AWT地绘图功能

组件绘图原理: 之前我们已经学习很多组件,如:Button、Frame、Checkbox等等,不同的组件,展示出来的图形都不一样,其实这些组件展示出来的图形,其本质 就是用AWT的绘图完成

在AWT中,真正提供绘图功能的是Graphics对象,那么Component组件和Graphics对象存在什么关系,才能让Component绘制呢? 在Component类中,提供了下列三个方法来完成组件图案的绘制于刷新:

方法作用
paint(Graphics g)绘制组件的外观
update(Graphics g)内部调用paint方法,刷新组件外观
repaint()调用update方法,刷新组件外观

注意:一般情况下,update和paint方法是由AWT系统负责调用,如果程序要希望系统重新绘制组件,可以调用repaint方法完成

 

awt绘图_Graphics组件

Graphics对象的使用: 实际生活中如果需要画图,首先我们得准备一张纸,然后在拿一支笔,配和一些颜色,就可以在纸上画出来各种各样的图形,例如:圆形、矩形等 程序绘图也一样,也需要画布,画笔,颜料等等。AWT中提供了Canvas类充当画布,提供Graphics类来充当画笔,通过调用Graphics对象的setColor()方法可以给画笔设置颜色

画图的步骤 1.自定义类,继承Canvas类,重写paint(Graphics g)方法完成画图 2.在paint方法内部,真正开始画图之前调用Graphics对象的setColor()、setFont()等方法设置画笔的颜色,字体等属性 3.调用Graphics画笔的drawXxx()方法开始画图

其实画图的核心就在使用Graphics画笔在Canvas画布上画出什么颜色、什么样式的图形,什么样式的图形,所以核心在画笔上 下表中列出了Graphics类中常用的一些方法

方法作用
setColor(Color c)设置颜色
setFont(Font font)设置字体
drawLine()绘制直线
drawRect()绘制矩形
drawRoundRect()绘制圆角矩形
drawOval()绘制椭圆形
drawPolygon()绘制多边形
drawArc()绘制圆弧
drawPolylin绘制折线
fileRect()填充圆角矩形区域
fillRoundRect()填充圆角矩形区域
fillOval()填充椭圆区域
fillPolygon()填充多边形区域
fillArc()填充圆弧对应的扇形区域
drawImage()绘制位图

 

awt绘图_Graphics组件的练习