Java应用实例.ppt_第1页
Java应用实例.ppt_第2页
Java应用实例.ppt_第3页
Java应用实例.ppt_第4页
Java应用实例.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第13章Java应用实例,13.1程序设计,本章根据前面所学的Java语言知识,设计一个简单的图像浏览和播放声音的Java应用程序。程序在一个框架窗口中创建了一个具有两个卡片页标签的JTabbedPane组件,在两个卡片页标签上各添加一个按钮组件,选择不同的按钮将打开文件对话框选择要浏览的图像文件或声音文件,选择错误则出现一个信息对话框,消除信息对话框后可重新选择文件。为简单起见,选择的图像文件显示在按钮中,选择的声音文件名也显示在按钮中,同时在声音设备中播放声音。若要继续显示图像或听另一个声音文件,可选择按钮再次打开文件对话框。,【例13.1】一个能够浏览图像文件和播放声音文件的JavaGUI应用程序。/引入程序需要的包importjava.io.*;importjava.applet.*;.*;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;/定义主类publicclassImageAndSoundpublicstaticvoidmain(Stringargs)newMyis();/主类结束,/定义继承框架JFrame类的子类Myis,并实现两个监听器接口classMyisextendsJFrameimplementsChangeListener,ActionListenerJTabbedPanejt;JButtonjb;intindex=0;JFileChooserfc;URLcb;AudioClipau;Myis()/构造方法super(图像和声音);/调用父类的构造方法jt=newJTabbedPane();/创建JTabbedPane对象jb=newJButton2;/创建按钮数组fc=newJFileChooser();/创建文件选择器/创建按钮对象并注册监听器,jb0=newJButton(请选择图片文件);jb1=newJButton(请选择声音文件);jb0.addActionListener(this);jb1.addActionListener(this);/在JTabbedPane上加入标签页jt.addTab(浏览图片,jb0);jt.addTab(播放声音,jb1);/对两个gif文件创建两个ImageIcon对象ImageIconjtim1=newImageIcon(images/gifIcon.gif);ImageIconjtim2=newImageIcon(images/sound.gif);,/将图像添加到卡片页标签上jt.setIconAt(0,jtim1);jt.setIconAt(1,jtim2);/对JTabbedPane对象注册监听器jt.addChangeListener(this);/将JTabbedPane对象添加到JFrame的主容器/ContentPane上,放在中央getContentPane().add(jt,BorderLayout.CENTER);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/注册窗口关闭事件setSize(400,300);/设置框架窗口的初始显示大小setVisible(true);/显示框架窗口/选择JTabbedPane标签时执行的方法,publicvoidstateChanged(ChangeEvente)if(e.getSource()=jt)/获取标签页序号inti=(JTabbedPane)e.getSource().getSelectedIndex();/使选择卡片页上的按钮可见,另一卡片页上按钮隐去jbindex.setVisible(false);jbi.setVisible(true);index=i;/记下当前选择的卡片页序号/选择标签中按钮时执行的方法publicvoidactionPerformed(ActionEvente),intreturnVal=fc.showOpenDialog(Myis.this);/打开文件打开对话框if(returnVal=JFileChooser.APPROVE_OPTION)/若选择了文件Filefile=fc.getSelectedFile();/用选择的文件创建File类的对象Stringext=null;Strings=file.getName();/获取文件名/在文件名字符串中查找文件名和扩展名间的分隔符inti=s.lastIndexOf(.);if(i0/将文件扩展名转换为小写if(index=0)/若希望打开的是图像文件,/判断是否为Java支持的图像文件if(ext.equals(gif)|ext.equals(jpg)|ext.equals(jpeg)/用图像文件创建ImageIcon对象ImageIconim=newImageIcon(file.getPath();/在窗口标题上显示提示setTitle(文件:+file.getName()+-单击图像继续);jb0.setText();/清除按钮上的提示文本jb0.setIcon(im);/在按钮上显示图像else/若打开文件是Java不支持的图像文件/显示信息对话框JOptionPane.showMessageDialog(this,打开文件不支持!);,else/若打开的是声音文件/判断是否为Java支持的声音文件if(ext.equals(mid)|ext.equals(wav)|ext.equals(au)try/用声音文件构造URL对象cb=newURL(file:+file.getPath();/用URL对象调用Applet类的newAudioClip()方法au=Applet.newAudioClip(cb);au.play();/播放声音文件jb1.setText(您正在欣赏:+file.getName();/更新按钮上的显示文本setTitle(“单击按钮继续”);/在窗口标题上显示提示catch(MalformedURLExceptionem)/处理URL异常System.err.println(em.getMessage();,else/若不是Java支持的声音文件JOptionPane.showMessageDialog(this,打开文件不支持!);/Myis类结束程序运行的界面如右图所示。,13.2程序组装与打包,一个应用程序开发完成后,通常希望将所有的相关文件组织到一起,以便于携带、分发和管理。在这里,介绍使用JDK工具jar来进行这种操作的方法。工具软件jar可将一个应用程序的实现类和所有资源文件压缩打包,以形成一个jar文件。该jar文件可以用java命令执行,也可在jar的支持下直接运行(不能脱离JDK系统)。下面以例13.1中的Java应用程序来介绍使用工具软件jar将Java应用程序及其相关资源进行打包并运行的方法和步骤。1.用一个任意的文本编辑工具编写一个简单的文件(文件名可自定),以指明应用程序的主类(程序的入口),格式如下:,Main-class:主类名对例13.1可以写为:Main-class:ImageAndSound书写时要注意:(1)主类名前要空一格;(2)程序的入口类名不要带class类型名。假设这一行文本存入到了文件名为manifest(文件名可自定)的文件中。2.在DOS提示符下按照下面的格式输入jar命令:jarcvmf文件名1文件名2.jar类名或资源文件名1类名或资源文件名2其中文件名1是在第一步中建立的文件名(有类型名时要带类型名),文件名2是压缩打包后希望的文件名。最后是一些用空格分隔的希望打入包中的类和资源文件名。若在第一步中对例13.1创建的文件名是manifest,则本步骤可写为:,jarcvmfmanifestjp.jarImageAndSound.classMyis.class其中jar命令的参数选项有4个:cvmf,它们的意义如下:c:创建压缩包文件;v:在打包过程中显示详细信息;m:要指定manifest(清单)文件(在第一步中创建);f:要指定jar打包文件。本命令执行时的屏幕显示为:标明清单(manifest)增加:ImageAndSound.class(读入=298)(写出=227)(压缩了23%),增加:Myis.class(读入=3725)(写出=2107)(压缩了43%)3.在正确创建了包

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论