JAVA从入门到精通之AWT绘图操作
沉沙 2019-07-17 来源 : 阅读 936 评论 0

摘要:本篇文章探讨了JAVA从入门到精通之AWT绘图操作,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了JAVA从入门到精通之AWT绘图操作,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

JAVA从入门到精通之AWT绘图操作


前面介绍了如何使用画笔在控件上展示图像,可是图像来源于磁盘图片,无法即兴绘制个性化的图案。所幸画笔工具Graphics不仅能够描绘图像,还支持绘制常见的几何形状,也支持绘制文本字符串,除了绘制图像用到的drawImage方法,Graphics还有下列常见的绘图方法:
setColor:设置画笔的颜色。
drawLine:在指定坐标的(x1,y1)与(x2,y2)两点之间画条线段。
drawRect:以坐标点(x,y)为左上角,绘制指定宽高的矩形边框。
fillRect:以坐标点(x,y)为左上角,绘制指定宽高的矩形区域。
drawRoundRect:以坐标点(x,y)为左上角,绘制指定宽高和指定圆角的圆角矩形边框。
fillRoundRect:以坐标点(x,y)为左上角,绘制指定宽高和指定圆角的圆角矩形区域。
drawOval:以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径的椭圆轮廓。注意,如果横纵半径的数值相等,此时椭圆就变成了圆形。
fillOval:以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径的椭圆区域。
drawArc:以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径和指定角度的圆弧。
fillArc:以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径和指定角度的扇形。
setFont:设置画笔的字体。
drawString:在当前位置的横纵偏移距离处绘制文本。

此外,Graphics也支持几种简单的管理操作,包括平移画笔、擦除区域、裁剪画布等功能,对应的处理方法说明如下:
translate:平移画笔至坐标点(x,y)。
clearRect:清除某块矩形区域,该矩形以坐标点(x,y)为左上角,且符合指定宽高。
clipRect:裁剪某块矩形区域,该矩形以坐标点(x,y)为左上角,且符合指定宽高。该方法的执行效果与clearRect正好相反,clearRect方法清除了矩形内部的所有图案;而clipRect方法清除了矩形外部的所有图案,只留下矩形内部的图案。

绘制图案与字符串的过程与绘制图像一样,都是重写自定义控件的paint方法,在该方法中调用画笔对象的各种绘图方法。接下来按照之前的图像视图依样画瓢定义一个绘画视图DrawView,变动之处在于绘制控件的paint方法,并据此演示几种图案的实现效果。首先准备绘制一条黑色线段,线段的起点位于控件的左上角,终点位于控件的右下角,则相应的绘制方法示例如下:

g.setColor(Color.BLACK); // 设置画笔的颜色为黑色
// 在指定坐标的(x1,y1)与(x2,y2)两点之间画条线段
g.drawLine(0, 0, getWidth(), getHeight());

主界面的代码比较简单,有关绘画视图的调用可参考如下的代码片段:

Panel panelCenter = new Panel(); // 创建中央面板
DrawView draw = new DrawView(); // 创建一个绘画视图
draw.setSize(360, 180); // 设置绘画视图的宽高
panelCenter.add(draw); // 在中央面板上添加绘画视图
frame.add(panelCenter, BorderLayout.CENTER); // 把中央面板添加到窗口的中间位置

运行修改后的测试代码,弹出的线段绘制窗口界面如下图所示。

接着绘制一个矩形边框,假设边框为红色,则对应的绘制方法如下所示:

g.setColor(Color.RED); // 设置画笔的颜色为红色
// 以坐标点(x,y)为左上角,绘制指定宽高的矩形边框
g.drawRect(10, 10, getWidth() - 20, getHeight() - 20);

同样运行测试界面代码,弹出的矩形绘制窗口界面如下图所示。

再绘制一个绿色的圆角矩形,但它是实心的,此时绘制过程应当调用fillRoundRect方法:

g.setColor(Color.GREEN); // 设置画笔的颜色为绿色
// 以坐标点(x,y)为左上角,绘制指定宽高和指定圆角的圆角矩形区域
g.fillRoundRect(10, 10, getWidth() - 20, getHeight() - 20, 50, 50);

运行主界面的测试代码,弹出的圆角矩形绘制窗口如下图所示。

继续绘制一个蓝色的椭圆轮廓,注意它是空心的,此时绘制过程应当调用drawOval方法:

g.setColor(Color.BLUE); // 设置画笔的颜色为蓝色
// 以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径的椭圆轮廓
g.drawOval(10, 10, getWidth() - 20, getHeight() - 20);

运行主界面的测试代码,弹出的椭圆绘制窗口界面如下图所示。

还可以绘制一个橙色的扇形,所谓扇形是由某段圆弧连接两端的横纵半径组成,因此它相当于实心的圆弧,此时绘制过程应当调用dfillArc方法:

g.setColor(Color.ORANGE); // 设置画笔的颜色为橙色
// 以坐标点(x,y)为外切矩形的左上角,绘制指定横纵半径和指定角度的扇形
g.fillArc(10, 10, getWidth() - 20, getHeight() - 20, 0, 90);

运行主界面的测试代码,弹出的扇形绘制窗口界面如下图所示。

最后使用画笔绘制几个文字,同时指定这段文字的颜色、字体以及大小,则对应的绘制方法如下所示:

g.setColor(Color.BLACK); // 设置画笔的颜色为黑色
g.setFont(new Font(""大号粗体"", Font.BOLD, 50)); // 设置画笔的字体
g.drawString(""春天花会开"", 50, 50); // 在当前位置的横纵偏移距离处绘制文本


"      本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!


本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程