- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JAVA的绘图功能非常丰富,绘图包括字体、颜色、图形,以下我们将分技术专题来讲。
一、关于JAVA的绘图机制。
JAVA中的任何一个图形组件,小到文本框、标签,大到一个FRAME,一个DIALOG,都有一个专门负责显示其界面的函数,这个函数名称是固定的:paint,它的原型为: public void paint(Graphics g) { …… } 每当组件大小、位置、组件内容发生变化时,该函数即负责生成新的图形界面显示。由于该函数可以被子类继承,因此,继承的子类有能力修改该函数。如果子类中没有出现该函数,则表示其行为完全继承自父类。则不管是组件中是否添加了新的内容,是否发生了大小的改变,是否发生了位移,父类都要有一个专门的线程,来负责描绘变化以后的组件界面。 paint函数由父类自动维护,并且如果子类一旦重载该函数,必须自己去维护所有的界面显示。
二、设置画笔颜色
1、颜色常识
任何颜色都是三原色组成(RGB),JAVA中支持224位彩色,即红绿蓝色分量可取值介于0..255之间。下面首先学习一个JAVA中的类Color Color中的常量:
public final static Color black=new Color(0,0,0);
public final static Color blue=new Color(0,0,255);
…..
Color的构造函数:
public Color(int r,int g,int b);
使用举例:如果想构造一个灰色对象,则用下面的句子:
Color gray=new Color(205,205,205);
2、设置画笔颜色语法
g.setColor(color); //color是一个Color对象
每修改一次颜色它影响的就是下面所有的绘图语句,一直影响到再次碰到setColor函数才以新的颜色代替。
3、使用JColorChooser组件选择颜色 JAVA中有一个已经定义好的选色器,通过简单的语法我们就可以将该窗口调出来,从其中选择自己喜欢的颜色。下面的这个例子就是通过颜色选取器选取颜色,并将选择到的颜色做为窗体的背景色。
(1)JColorChooser简介 JColorChooser组件的showDialog()方法让用户从弹出的窗口中选择一个颜色,并传给Color对象。其调用语法如下: color=JColorChooser.showDialog(this,”选色”,color); 第一个参数指定调用选色器的父窗体,第二个参数指定选色器窗口标题,最后一个为接收颜色的颜色对象。
4、如何将一个图形(以文件存在,如JPG或者GIF)画到窗体的画布中 其实放置图形到画板中实际就是调用了画板的drawImage函数。其大致思路如下: 首先获取一个ImageIcon对象,这个对象将会从指定的文件中读取相关图象信息,它支持GIF和JPG、BMP等基本图象格式。语法如下:
ImageIcon icon=new ImageIcon(GraExp5.class.getResource(1.gif));
获取到图象的图标以后,就可以从图标中获取到绘制到画板上的实际需要的图象:
Image img=icon.getImage();
有了这个图象对象,我们就可以用画板的drawImage函数画图了。
g.drawImage(img,0,0,null);
中间两个参数是图象绘制时在画板的起始点坐标。 例如:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class GraExp5 extends JFrame {
ImageIcon icon;
Image img;
public GraExp5() {
icon=new ImageIcon(GraExp5.class.getResource(1.gif));
img=icon.getImage();
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setSize(new Dimension(400,300));
show();
}
public void paint(Graphics g) {
g.drawImage(img,0,0,null);
}
public static void main(String[] args)
{
GraExp5 ge=new GraExp5();
}
}
程
您可能关注的文档
- 2013年衢州市第四届运动会举重比赛总结.doc
- 2013年我国无纺布产量分析及区域分布.doc
- 2013年烟花爆竹从业人员培训计划.doc
- 保护我们的校园环境.doc
- 保龄球的曲线全中的问题_用伯努利方程解决生活中的实际问题.doc
- 堡塞达汽车用品会员章程.doc
- 北航《法理学》在线作业二.docx
- 北京交通大学棒球队队规.doc
- 北京童谣——人物风情,历史传说.doc
- 北京外国语大学老师.doc
- 2025年农业系统职称考试考前冲刺练习题附答案详解(满分必刷).docx
- 猪繁殖与呼吸综合征病毒的分离鉴定及致病性深度解析.docx
- 猪细小病毒的分离鉴定及NS1、VP2基因的克隆测序与分析:探寻病毒遗传奥秘.docx
- 2025年农业系统职称考试考前冲刺练习题附答案详解【研优卷】.docx
- 2025年农业系统职称考试考前冲刺练习题附答案详解【精练】.docx
- 2025年农业系统职称考试考前冲刺练习题附答案详解【B卷】.docx
- 专题1 化学使生活更美好(单元解读讲义)化学沪科版五四学制2024八年级全一册.docx
- 2025年农业系统职称考试考前冲刺练习题附完整答案详解(网校专用).docx
- 离婚协议合同模板.docx
- 猪瘟防控关键技术突破:兔化弱毒ST传代细胞源疫苗效检新方法与病毒精准鉴别技术.docx
文档评论(0)