有资源网

搜索
有资源网 首页 编程语言 查看内容

Java开发笔记(一百二十四)AWT绘图操作

2019-7-26 01:07| 发布者: admin| 查看: 250| 评论: 0

摘要: 前面介绍了怎样使用画笔在控件上展示图像,可是图像泉源于磁盘图片,无法即兴绘制个性化的图案。所幸画笔工具Graphics不仅能够描绘图像,还支持绘制常见的多少外形,也支持绘制文本字符串,除了绘制图像用到的drawIm

前面介绍了怎样使用画笔在控件上展示图像,可是图像泉源于磁盘图片,无法即兴绘制个性化的图案。所幸画笔工具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); // 把中心面板添加到窗口的中间位置

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(1)
接着绘制一个矩形边框,假设边框为赤色,则对应的绘制方法如下所示:

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

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(2)
再绘制一个绿色的圆角矩形,但它是实心的,此时绘制过程应当调用fillRoundRect方法:

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

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(3)
继承绘制一个蓝色的椭圆轮廓,注意它是空心的,此时绘制过程应当调用drawOval方法:

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

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(4)
还可以绘制一个橙色的扇形,所谓扇形是由某段圆弧毗连两头的横纵半径组成,因此它相称于实心的圆弧,此时绘制过程应当调用dfillArc方法:

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

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(5)
末了使用画笔绘制几个笔墨,同时指定这段笔墨的颜色、字体以及巨细,则对应的绘制方法如下所示:

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

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

编程语言-Java开发笔记(一百二十四)AWT绘图操作(6)


更多Java技术文章参见《Java开发笔记(序)章节目次》


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

鲜花

握手

雷人

路过

鸡蛋

最新评论

返回顶部