服务热线:13944913130

站内公告:

JAVA的绘图功能非常丰富,绘图包括字体、名人名言2000句、图形,以下我们将分技术专题来讲。一、关于JAVA的绘图机制。JAVA中的任何一个图形组件,小到文本框、标签,大到一个FRAME,一个DIALOG,都有一个专门负责显示其界面的函数,这个函数名称是固定的:paint,它的原型为:publicvoidpaint(Graphicsg){……}每当组件大小、位置、组件内容发生变化时,该函数即负责生成新的图形界面显示。由于该函数可以被子类继承,因此,继承的子类有能力修改该函
Java高级开发

当前位置:Java高级开发

名人名言2000句-java认证辅导:Java绘图机制

时间:2021-10-19 

JAVA的绘图功能非常丰富,绘图包括字体、名人名言2000句、图形,以下我们将分技术专题来讲。

一、关于JAVA的绘图机制。

JAVA中的任何一个图形组件,小到文本框、标签,大到一个FRAME,一个DIALOG,都有一个专门负责显示其界面的函数,这个函数名称是固定的:paint,它的原型为:publicvoidpaint(Graphicsg){……}每当组件大小、位置、组件内容发生变化时,该函数即负责生成新的图形界面显示。由于该函数可以被子类继承,因此,继承的子类有能力修改该函数。如果子类中没有出现该函数,则表示其行为完全继承自父类。则不管是组件中是否添加了新的内容,是否发生了大小的改变,是否发生了位移,父类都要有一个专门的线程,来负责描绘变化以后的组件界面。Paint函数由父类自动维护,并且如果子类一旦重载该函数,必须自己去维护所有的界面显示。

二、设置画笔名人名言2000句

1、名人名言2000句常识

任何名人名言2000句都是三原色组成(RGB),JAVA中支持224位彩色,即红绿蓝色分量可取值介于0..255之间。下面首先学习一个JAVA中的类ColorColor中的常量

publicfinalstaticColorblack=newColor(0,0,0);

publicfinalstaticColorblue=newColor(0,0,255);

…..

Color的构造函数

publicColor(intr,intg,intb);

使用举例:如果想构造一个灰色对象,则用下面的句子

Colorgray=newColor(205,205,205);

2、设置画笔名人名言2000句语法

g.setColor(color);//color是一个Color对象

每修改一次名人名言2000句它影响的就是下面所有的绘图语句,一直影响到再次碰到setColor函数才以新的名人名言2000句代替。

3、使用JColorChooser组件选择名人名言2000句JAVA中有一个已经定义好的选色器,通过简单的语法我们就可以将该窗口调出来,从其中选择自己喜欢的名人名言2000句。下面的这个例子就是通过名人名言2000句选取器选取名人名言2000句,并将选择到的名人名言2000句做为窗体的背景色。

(1)JColorChooser简介JColorChooser组件的showDialog()方法让用户从弹出的窗口中选择一个名人名言2000句,并传给Color对象。其调用语法如下:color=JColorChooser.showDialog(this,”选色”,color);第一个参数指定调用选色器的父窗体,第二个参数指定选色器窗口标题,最后一个为接收名人名言2000句的名人名言2000句对象。

4、如何将一个图形(以文件存在,如JPG或者GIF)画到窗体的画布中其实放置图形到画板中实际就是调用了画板的drawIm**e函数。其大致思路如下:首先获取一个Im**eIcon对象,这个对象将会从指定的文件中读取相关图象信息,它支持GIF和JPG、BMP等基本图象格式。语法如下

Im**eIconicon=newIm**eIcon(GraExp5.class.getResource("1.gif"));

获取到图象的图标以后,就可以从图标中获取到绘制到画板上的实际需要的图象

Im**eimg=icon.getIm**e();

有了这个图象对象,我们就可以用画板的drawIm**e函数画图了。

g.drawIm**e(img,0,0,null);  中国学网  2010/6/20    字号:T T

中间两个参数是图象绘制时在画板的起始点坐标。例如

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassGraExp5extendsJframe{

Im**eIconicon;

Im**eimg;

publicGraExp5(){

icon=newIm**eIcon(GraExp5.class.getResource("1.gif"));

img=icon.getIm**e();

setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);

setSize(newDimension(400,300));

show();

}

publicvoidpaint(Graphicsg){

g.drawIm**e(img,0,0,null);

}

publicstaticvoidmain(String[]args)

{

GraExp5ge=newGraExp5();

}

}

程序分析:需要注意的是,图象文件所在的位置应该和该类放在同一个目录中,这样不至于出错。

6、系统扩展,综合应用,如何为一个窗体设置背景图片。

要为一个窗体添加背景图片,必须知道绘制Jcomponent组件的过程。Swing轻量组件的绘制是组件和组件UI代表合作的结果。Jcomponent.paint先绘制组件,然后绘制组件的边框,再绘制组件的子组件。调用的顺序确保组件、边框和子组件都是可视的。如果组件有一个UI代表,则Jcomponent.paintComponent调用该代表的Update方法,该方法为不透明组件擦除背景,然后绘制组件。Cinstead是一个不透明的组件,如果重载paint方法,其背景图是无法被擦除的,因此,即使更新了组件的所有包含组件,在界面上是看不到的。所以必须重载paintComponent方法,在绘制子组件前先擦除背景。对双缓存组件,paint方法负责把组件绘制到屏外缓存中,然后把屏外缓存拷贝到组件的屏上代表中,正因为如此,我们不建议为Swing组件重载paint,如果需要重新定义如何绘制组件,那么就重载paintComponent()。

7、用可获取的字体、样式、字号修饰文字

(1)函数说明

字形类Font用于规范组件所使用的字形大小、样式和字体等。其构造函数

publicFont(Stringname,intstyle,intsize);

name表示本地可获取字体名称style表示字体样式,包含Font.PLAIN,Font.BOLD,Font.ITALIC三种,分别对应平体、加粗和斜体。一个有用的方法用来获取本地可用字体

GraphicsEnvironment

ge=GraphicsEnvironment.getLocalGraphicsEnvironment();

String[]

fa=ge.getAvailableFontFamilyNames();

通过从绘图环境中获取到本地可用的字体名数组。

根据您访问的内容,您可能还对以下内容感兴趣,希望对您有帮助:

幸运飞艇人工计划在线网答:对,用来做界面的话,java并不占据优势,所以用得很少,可以不学。。。基本还是做web更多

答:java有一组绘制圆弧的函数drawArc()和fillArc(),drawArc()函数绘制边框无填充,fillArc()有填充,两个函数都可以指定开始角度和弧跨越的角度。具体的函数形式如下:drawArc(intx,inty,intwidth,intheight,intstartAngle,intarcAngle...

答:画笔定义importjava.awt.*;/***@authorHardneedl*/interfaceBrush{voiddoPaint(Graphicsg);}画笔工厂importjava.awt.*;/***@authorHardneedl*/classBrushFactory{staticfinalintLINE_BRUSH=0;staticfinalint...

答:链接:密码:1v98名人名言2000句2DGraphics英文版,你看一遍就明白了

幸运飞艇人工计划在线网答:多线程是java语言区别于其它语言的一大特点。其它语言向C++的话如果要实现多线程的话,必须调用操作系统的多线程机制。在java5以前实现多线程有两种方法(继承Thread类和实现Runnable接口)。它们分别为:使用newThread()和newThread(Runna...

答:当给定种子点(x,y)时,首先分别向左和向右两个方向填充种子点所在扫描线上的位于给定区域的一个区段

答:importjava.awt.geom.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;/***简单的画图程序*@author[url=]Eastsun[/url]*/publicclassDrawPanelext...

答:6010,3590,以此类推卅。。。int[]x是装的X的所有坐标,y[]亦如此。对应下就好了

答:publicenumShapeTypes{LINE,CIRCLE,RECTANGLE}publicinterfaceShape{voidpaint(Graphicsg);}publicclassRectangleimplementsShape{//矩形左上角的坐标privateintx,y;//矩形的宽度和高度privateintwidth,height;privateC...

答:这是我复制了您的代码运行后的结果,如图。并没有出现您所描述的问题。


首页 | 前端开发 | C/C++ | Android高级开发 | 产品经理 | 云计算大数据 | 软件测试 | python | Java高级开发 | 新媒体短视频 |

13944913130

友情链接:

地址:电话:13944913130邮箱:iKPcoF@www.hcxgt.com

微信扫一扫

微信扫一扫