ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:23.15KB ,
资源ID:4689294      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4689294.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java入门必学篇摘要.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java入门必学篇摘要.docx

1、java入门必学篇摘要Java入门(11) 让程序更动人摘要Java语言提供了对各种多媒体的良好支持,在本章中我们将学习如何在你的Java语言程序中处理图像、声音、字体等资源,让你的程序更加有趣。本章目标:Java语言提供了对各种多媒体的良好支持,在本章中我们将学习如何在你的Java语言程序中处理图像、声音、字体等资源,让你的程序更加有趣。11.1 图像传授新知与其它编程语言不一样,Java语言没有为图像文件提供类于什么图像框的控件(用Java的术语来说,就是类),而是无处不可有图像。我们可以在标签上,在按钮中,在许许多多普通的GUI部件上显示图像。通常,在Java语言中,使用一个图像需要经过

2、三个步骤:1.装载图像Java是伴随着Internet发展起来的,被认为是最优秀的Internet编程语言,因此我们经常会看到许多细节都在体现这一风格或精神。例如,Java语言是通过URL(统一资源定位,Uniform Resource Location,最常见的URL是用来指向WEB页面的)进行文件引用的。这样的机制,使Java语言引用一个本地文件与引用一个Internet上的文件并没有什么区别。我们通过getImage()方法装载图像,这个方法的语法格式如下所示:public Image getImage(String url)public Image getImage(String ur

3、l,String name) 第一种形式:直接给出指向文件的URL; 第二种形式:通过合并指定的url和后面的name形成新的URL。一些提示:因为考虑到读者不一定都了解如何使用URL表示本地文件,所以在些给出一个实例,以便大家理解:file:/c:/javastudy/test.jpg格式是:file:/盘符:/路径/文件名。需要注意是,我们使用的是“/”来隔开各个部分,而不是使用Windows下的“”符。我们经常需要调用当前目录下的文件,即使是这样,我们也需要写出这个目录的URL,否则将无法找到这个程序。这,太痛苦了!不过,Java也提供了一个十分体贴的方法,让你能够很轻松地获得当前目录的

4、URL:getCodeBase()这样,我们如果要调用当前目录下的1.jpg文件的话,就可以使用语句:getImage(getCodeBase(),”1.jpg”);getImage方法将返回一个Image对象。所以,我们通常先定义一个Image对象,用来存放装载进来的图像,例如:Image image1=getImage(getCodeBase(),”1.jpg”);这样,就将1.jpg装载到image1中了。2.生成ImageIcon将图像装载进来以后,还不能够直接被程序所使用,我们还要先调用ImageIcon方法将其生成一个ImageIcon:ImageIcon(Image)这个方法将返

5、回一个ImageIcon对象,有了ImageIcon对象后,就可以被使用了。下面就是一个实例,我们将包含1.jpg的图象的image1对象转成ImageIcon对象icon1:ImageIcon icon1=new ImageIcon(image1);3.显示图像现在,我们就可以显示这个图像了,我们将ImageIcon对象作为参数,创建标签、按钮等部件,就可以显示出这个图像了。下面我们就分别介绍一下:1) 标签:public JLabel(ImageIcon icon);public JLabel(String text,ImageIcon icon);第一个构造器,是让标签中只显示图像,而第

6、二个构造器就可以同时显示文本标签和图像。可谓图像并茂。2) 按钮:public JButton(ImageIcon icon);public JButton(String text,ImageIcon icon);很明显,与标签构造器十分类似。注意:任何事物都是不断发展的,java.AWT包中提供的部件尚不能很好地包含图像,而更先进的java.Swing包中提供的部件就可以很好地包含图像了。实例说明下面,我们来构建一个显示图像的程序。为了大家便于完成这个实例操作,我们选用了一个大家都有的图像文件: C:windowssystemoobeimagescnncterr.jpg文件。为了方便操作,大

7、家先将其拷贝到C:javastudy目录下。源程序:useImage.javaimport java.applet.*;import java.awt.*;import javax.swing.*;public class useImage extends JAppletImage image1;public void init()JPanel panel1=(JPanel)getContentPane();panel1.setLayout(new BorderLayout();image1=getImage(getCodeBase(),cnncterr.jpg);ImageIcon icon

8、1=new ImageIcon(image1);JLabel imagelabel=new JLabel(icon1);panel1.add(imagelabel); 将这个程序编译后,运行的结果如下图所示:图11-1 程序useImage.java的输出接下来,我们再来看一个有趣的程序:源程序:useImage2.javaimport java.applet.*;import java.awt.*;import javax.swing.*;public class useImage2 extends JAppletImage image1,image2;public void init()J

9、Panel panel1=(JPanel)getContentPane();panel1.setLayout(new BorderLayout();image1=getImage(getCodeBase(),ontbvsa.gif);ImageIcon icon1=new ImageIcon(image1);image2=getImage(getCodeBase(),offtbvsa.gif);ImageIcon icon2=new ImageIcon(image2);JButton imagebutton=new JButton(icon2);imagebutton.setPressedIc

10、on(icon1);panel1.add(imagebutton,BorderLayout.CENTER); 这个程序的输出是:图11-2 程序最初的显示图11-3 当按下这个按钮时这里,使用了一个新的方法,实现了一个特殊的效果!imagebutton.setPressedIcon(icon1);这就是当你按下这个按钮时,就显示icon1所指向的图像。自测练习1)_c_包中定义的部件能够直接使用图像。a.java.awt.* b.java.swing.* c.javax.swing.*2) 一个按钮_b_同时拥用文本标签和图像。a.不能 b.能3) 按钮中可以直接使用_a_对象。a.Image

11、Icon b.Image c.Icon4) 取得当前目录的URL使用_c_方法。a.getURLbase b.getURL c.getCodeBase5) 一个标签_a_同时拥用文本标签和图像。a.能 b.不能6) 编写一个程序,在默认情况下,只显示两个按钮:MasterCard和VisaCard,图11-4 练习题图(1)当按下MasterCard按钮时,则显示MasterCard的图像:图11-5 练习题图(2)而按下VisaCard按钮时,显示M VisaCard的图像。如下图所示:图11-6 练习题图(3)注:这两幅图分别是c:windowssystemoobd_gmc.jpg和bgv

12、isa.jpg。练习答案1)c 在java.awt包定义的部件对图像的支持不好;java.swing包是不存在的,应该是javax.swing。2)b 当然可以。3)a Image对象应先转成ImageIcon对象。4)c 没有什么好解释的,提供的方法名就是getCodeBase()。5)a 当然可以。6)以下是一个实现实例:源程序:lianxi11_1.javaimport java.applet.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class lianxi11_1 extends J

13、AppletImage image1,image2;ImageIcon icon1,icon2;JButton mc,visa;JLabel imagelabel;public void init()Frame frame1=new Frame(lianxi11_1);frame1.setLayout(new BorderLayout();image1=getImage(getCodeBase(),bgmc.jpg);icon1=new ImageIcon(image1);image2=getImage(getCodeBase(),bgvisa.jpg);icon2=new ImageIcon

14、(image2);imagelabel=new JLabel();frame1.add(imagelabel,BorderLayout.CENTER);JPanel panel1=(JPanel)getContentPane();panel1.setLayout(new GridLayout(1,2);mc=new JButton(MasterCard);visa=new JButton(VisaCard);panel1.add(mc);panel1.add(visa);mc.addActionListener(new ActionListener()public void actionPer

15、formed(ActionEvent evt)imagelabel.setIcon(icon1););visa.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)imagelabel.setIcon(icon2););frame1.add(panel1,BorderLayout.SOUTH);frame1.pack();frame1.show();11.2 声音传授新知有时,我们需要在程序中释放声音,我可以在import java.applet.*包的支持下,让Java程序能够播放

16、WAV、AU和SND格式的声音文件。1.装载声音文件与引用图像文件一样,我们也要将声音文件装载进来,才能够供Java程序使用。同样的,我们还是使用URL来定位一个声音文件。在Java语言中装载声音文件,是使用getAudioClip方法,其语法格式是:public AudioClip getAudioClip(String url)public AudioClip getAudioClip(String url,String name)同样的,我们可以调用getCodeBase()方法来获取当前目录的URL,这样就可以很方便地调用当前目录下的声音文件。例如:AudioClip clip1=ge

17、tAudioClip(getCodeBase(),”carbrake.wav)注:carbreak.wav是office97中带的,你可以在c:windowsmediaoffice97目录中找到,在此假设已拷贝到了c:javastudy目录中。这样,我们就获得了一个AudioClip(声音片段)clip1,这个声音片段中存放的就是声音文件carbreak.wav。2.操作声音片段使用声音比使用图像要简单得多,我们现在就可以直接对一个AudioClip(声音片段)进行操作了,不再需要转换(图像就得从Image转成ImageIcon)。1) 播放声音片段:声音片段名.play()一句话,就是直接调

18、用声音片段对象的play()方法就可以将其播放出来。2) 停止播放:声音片段名.stop()很简单吧,play就是播放,stop就是停止,好象在用放音机一样。3) 循环播放:声音片段名.loop()有时,我们可能会需要一直播放一段声音,在Java语言中提供了一个很简单的方法来实现,那就是声音片段的loop方法。实例说明首先将c:windowsmediaoffice97carbrake.wav拷贝到c:javastudy目录下,然后输入以下源程序。源程序:useAudio.javaimport javax.swing.*;import java.applet.*;import java.awt.

19、*;import java.awt.event.*;public class useAudio extends JAppletAudioClip carbrake;public void init()JPanel panel1=(JPanel)getContentPane();panel1.setLayout(new GridLayout(3,1);carbrake=getAudioClip(getCodeBase(),carbrake.wav);JButton buttonPlay=new JButton(Play);JButton buttonStop=new JButton(Stop);

20、JButton buttonLoop=new JButton(Loop);panel1.add(buttonPlay);panel1.add(buttonStop);panel1.add(buttonLoop);buttonPlay.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)carbrake.stop();carbrake.play(););buttonStop.addActionListener(new ActionListener()public void action

21、Performed(ActionEvent evt)carbrake.stop(););buttonLoop.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)carbrake.stop();carbrake.loop(););这个程序经编译后用appletviewer可以看到如下界面:图11-7 useAudio.java的程序界面当你按下play按钮时,你就会听到一声汽车的刹车声。而当你按下Loop按钮时,你就会听到边续不断的汽车刹车声。当你厌倦了的时候,就按下stop按钮,声

22、音就消失了。自测练习1) 在Java语言中,使用_类来装载声音文件。a.Sound b.SoundClip c.AudioClip d.Clip2) _包提供了对声音的支持。a.java.awt.* b.javax.swing.* c.java.swing.* d.javax.awt.*3) 在c:windowsmedia目录下有一个The Microsoft Sound.wav,它是Windows启动时的欢迎乐,在c:windowsmediaoffice97目录下有一个chimes.wav,它是一段十分和谐的音乐。下面请您编写一个程序,构建两个按钮,第一个是Microsoft Sound,按

23、下时就播放第一个音乐;第二个按钮则是chimes,按下时就播放第二个音乐。程序界面如下图所示:图11-8 练习题图_练习答案1)c 在Java中,使用AudioClip来装载声音文件。2)a 3)以下是一个程序实例:源程序:lianxi11_2.javaimport javax.swing.*;import java.applet.*;import java.awt.*;import java.awt.event.*;public class lianxi11_2 extends JAppletAudioClip clip1,clip2;public void init()JPanel pan

24、el1=(JPanel)getContentPane();panel1.setLayout(new GridLayout(2,1);clip1=getAudioClip(getCodeBase(),The Microsoft Sound.wav);clip2=getAudioClip(getCodeBase(),chimes.wav);JButton button1=new JButton(Microsoft Sound);JButton button2=new JButton(Play chime);panel1.add(button1);panel1.add(button2);button

25、1.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)clip2.stop();clip1.play(););button2.addActionListener(new ActionListener()public void actionPerformed(ActionEvent evt)clip1.stop(); clip2.play(););11.3 改变字体传授新知不知不觉中,我们已经学习了很多的关于Java的知识了,从字符界面到图形界面,从呆滞的文字到多彩的图像、声音不过,

26、不知道大家注意到没有,我们一直没有改变程序中显示出来的文字的字体!现在,我们就来补一下这方面的知识。字体是一个十分神奇的东西,例如,我们使用了黑体字体现出了各个章节,使用楷体字体现出了一些注释、提示、说明等等。它使得我们的文本更生动、更直观。字体由三种属性决定:1) 字体名(family name)字体名可以分成两大类:一种是中文字体,如宋体、楷体、黑体等;另一种是英文字体,如Arial、Times New Roman等等;小知识:对于英文字体中有两个术语:“等宽字体”与“变宽字体”,等宽字体是指每一英文字母的宽度一样大;而变宽字体则不然, m与l所占的宽度就不同。2) 大小(size)与字体

27、名一样,大小也有两种衡量方式:一种是五号、六号,号数越小字越大;另一种是磅值(这是一种印刷界的通用单位),如11磅、12磅,它们的值越大,字越大。不过在Java中只支持后者,也就是磅值(point)。3) 风格(style)如斜体、粗体、下划线等。在Java中有四种字体风格,由Font类的值来定义。 Font.PLAIN(普通) Font.BOLD(加粗) Font.ITALIC(斜体) Font.BOLD+ Font.ITALIC(粗斜体)也就是说,在Java语言中并不支持下划线这种风格。好了,我们已经知道了字体的详细内容,下面我们来看一下如何在程序中设置、改变字体?很简单,我们先使用以下构造器构造一个字体对象:public Font(String familyName,int style,int size)然后,调用对象的setFont方法来设置字体:public void setFont(Font font)正如上面所讲的一样,我们能够很轻松地设置风格与大小,但可以选择哪些字体名呢?我无法回答这个问题,谁也无法回答这个问题!因为这个问题的答案掌握在你的系统中!也就是能够使用哪些字体,完全取决于

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1