作者语录:“终于学到绘图了 看到这种有图案的心情美丽多了  希望自己可以越学越多 越学越好”

本次就不用图片展示效果了,纯文字。

1.Graphics类概述

画图时我们都需要拥有一支画笔,Java中的Graphics类就类似绘制图像的画笔,该类当中提供了各种绘制图像的方法,包括绘制图片,绘制文本,绘制图形等。使用Graphics类的这些方法可以完成多种图像的绘制。

2.Graphics基本使用

使用Graphics类的基础功能我们可以完成多种图形的绘制,在容器中绘制图形需要重写容器的paint()方法,关于绘图的代码必须写在paint()方法中,paint()方法会在创建图形界面和改变图形界面时自动调用,手动调用paint()方法需要通过repaint()方法来完成。

注意:绘制图形需要重写容器的paint()方法,该方法会在容器创建或改变时自动调用。

3.Graphics2D

使用Graphics类可以完成基本的图形绘制,但是如果需要绘制一些比较复杂的图形时该类的功能就显得十分有限了。Graphics2D类继承了Graphics类,该类提供了对几何形状,坐标转换,颜色管理和文本布局等更为复杂的操作。Graphics2D类是实现二维形状,文本,和图像的基础类。

注意:Graphics2D对象可以通过强制转换Graphics对象获取。

Graphics2D与Graphics类似,除了可以绘制空心的图形之外还可以绘制实心的图形,绘制实心图形时只需要地道用方法名称为fillXXX()的方法即可。

4.画笔属性的设置

2.1 设置画笔的颜色

在程序绘图时需要用到各种各样的颜色,如果只有黑色肯定满足不了实际开发的需求。Java中提供了Color类用于创建多种颜色,如果要给画笔设置颜色需要调用Graphics类的setColor()方法。

语法:

g.setColor(Color类对象);

setColor()方法的参数为Color类的常量值,这些常量值都是静态的Color类对象,每个Color的常量值都代表一种颜色。

注意:使用setColor()方法将画笔颜色,此后画笔绘制图形时都会自动采用这种颜色。如果需要绘制其他颜色的图形,需要再次调用setColor()方法为画笔重新设置颜色。

2.2 设置画笔的字体

Graphics类除了可以绘制图形外还可以用来绘制文本,绘制特定格式文本时需要先设置画笔的字体样式。Java中提供了Font类用于创建文本样式,Font类提供了设置字体大小,样式等功能,使用Font类的有参构造方法即可创建一个包含指定字体,大小和样式的Font对象。

语法:

Font f = new Font(字体,样式,字号)

拥有Font对象后就可以通过Graphics类的setFont()方法为画笔设置指定的字体。

2.3 绘制图片

Graphics除了可以绘制图形与文本外还可以绘制图片,绘制图片需要使用drawImage()方法,该方法可以通过图片对象以及绘制的坐标来绘制图片。获取图片对象需要使用ToolKit类中的方法。

语法:

Image img = ToolKit.getDefaultToolkit().getImage(图片路径);

本章小结:

1.Graphics类是Java中用来绘制图形的基本类。

2.在容器中绘制图形时,须重写该容器的paint()方法,paint()方法会在容器创建与改变时自动调用。

3.Color类可以用来创建任意颜色对象,Graphics类的setColor()方法可以设置画笔的颜色。

4.Font类可以用来创建字体对象,Graphics类的setFont()方法可以设置画笔的字体。

5.ToolKit.getDefaultToolkit().getImage()方法可以获取图片对象,Graphics类的drawImage()方法可以绘制图片。

本周新学的 GUI绘图技术的更多相关文章

  1. 客户端软件GUI开发技术漫谈:原生与跨平台解决方案分析

    原生开发应用开发 Microsoft阵营的 Winform WinForm是·Net开发平台中对Windows Form的一种称谓. 如果你想深入的美化UI,需要耗费很大的力气,对于目前主流的CSS样 ...

  2. 【PHP绘图技术&&验证码绘制】

    PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...

  3. Windows 窗体的.Net 框架绘图技术

    当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件 ...

  4. PHP自学之路---报表及绘图技术

    Ø  报表 a)        什么是报表 报表就是用表格.图表等格式来动态显示数据. b)        PHP绘图坐标系 1.  坐标系介绍 下图说明了PHP坐标系.坐标原点位于左上角,以像素为单 ...

  5. PHP 绘图技术

    1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png ..... 区别: gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画 jpg/jpeg 图片压缩 ...

  6. 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)

    1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...

  7. 对于PHP绘图技术的理解

    要使用PHP绘图,就得在php.ini文件中设置一下 找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了 几乎每行代码我都写了注释,方便看懂 ...

  8. 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁   2011 ...

  9. 【转 | 侵删】2D 绘图技术中的坐标系统与坐标变换

    本文介绍在 2D 绘图技术中的坐标系统和坐标变换的相关知识.同时介绍 Kity 在这方面提供的 API .希望这些知识对于需要进行图形应用开发的同学会有所帮助. 锤子的故事 很久以前,有一个画家,他很 ...

随机推荐

  1. andorid下从相册选取/拍照选取一张相片并剪切

    http://www.2cto.com/kf/201401/270144.html 在Android编程中,从相册选取或是拍照选取一张照片然后对其进行剪切的需求非常的多 之前的一篇文章只说到如何从相册 ...

  2. HashMap在高并发下如果没有处理线程安全会有怎样的安全隐患,具体表现是什么

    Hashmap在并发环境下,可能出现的问题: 1.多线程put时可能会导致get无限循环,具体表现为CPU使用率100%: 原因:在向HashMap put元素时,会检查HashMap的容量是否足够, ...

  3. Windows下配置vue的环境

    最近在学习vue.js,希望前端能用vue来作为主要框架.这里记录一下NPM在Windows中安装过程. 下载安装 下载地址 下载v6.11.0 LTS稳定版. 在C盘创建nodejs目录,并进行安装 ...

  4. java运行机制、Jdk版本及Java环境变量

    一.语言特性 计算机高级语言按程序的执行方式可分为:编译型和解释型两种.编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件 ...

  5. 第六章 MySQL 查询

    查询数据表 语法: SELECT {* | <字段列表>} [ FROM <表1>, <表2>.... [ where <表达式> ] [ group ...

  6. c语言,数据结构,链表的一些操作总结

    下面是自己的一些学习操作以及总结,能用我会很开心,有不足之处,欢迎大家提出宝贵的意见! c语言链表是一种基本的数据结构,与顺序表一样属于线性表,但是顺序表在内存中的存储单元是连续的,这样就对内存的要求 ...

  7. USB/GPIO/SDIO

    通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范.它只有4根线,两个电源(5V,地线),两个数据 ...

  8. 关于内核转储(core dump)的设置方法

    原作者:http://blog.csdn.net/wj_j2ee/article/details/7161586 1. 内核转储作用 (1) 内核转储的最大好处是能够保存问题发生时的状态. (2) 只 ...

  9. Swift学习字符串、数组、字典

    一.字符串的使用 let wiseWords = "\"I am a handsome\"-boy" var emptyString = "" ...

  10. 虚拟机搭建CentOS主机win10通过xshell连接

    目标:主机是win10系统,虚拟机搭建CentOS,在主机上通过XShell连接操作. 第一步 主机上安装虚拟机 第二步 下载CentOS 下载地址http://101.110.118.69/isor ...