龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

JAR进阶 (上)

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
先对JAR作一下简要介绍,JAR是一种与平台无关的文档格式,全称为Java Archive,翻译成中文叫Java 归档,咋一看,它相当于一种压缩格式,可以把众多的文档合成一个文件,就象ZIP,ACE等

  先对JAR作一下简要介绍,JAR是一种与平台无关的文档格式,全称为Java Archive,翻译成中文叫Java 归档,咋一看,它相当于一种压缩格式,可以把众多的文档合成一个文件,就象ZIP,ACE等,但它所被赋予的能力远不止这些,
  
  首先,它与平台无关,并且兼容性好,就是说不管是windows,还是unix,都是通吃,甚至是IE和netscape之间的不兼容,也能轻松化解,这和java的精神是很相符合的。
  
  再来,它使用户可将多个java小应用程序合并为一个文件作为单个的简单 HTTP事务下载到浏览器中,从而大大提高浏览速度,这在越来越讲究速度的www世界里是很相当具有诱惑力的。
  
  它还提供对applet作者的认证,这只要对JAR进行数字签名便可。
  
  更为出色的是,假如浏览器信任该认证,那么作为可信任的applet,它便能访问非信任的applet禁止访问的资源,如本地硬盘和网络。
  
  还有一个不似功能的优点,背靠sun,自然是好事天天有。
  
  总而言之是优点多多,前途无量,从它的诞生开始,它就在java的应用中的占着越来越重要的地位,不久JAR将成为分布java applet的标准方法。
  
  这么好的东东,是不是有些相见恨晚,那现在便开始为JAR的进阶预备一些工具,当然必要的是jdk,现在普遍用的版本是1.3,那么就去下一个吧,sun的主机太远,速度也一般般,要害是e文的,目录又深。国内有些网站也提供下载的,速度也挺快,在搜索引擎里面查找一下便有一堆了。最好是预备一个可视化的java编程环境,在windows平台下推荐jbuilder4,Inprise也就borland公司出的,除开资源占得厉害,有些垃圾代码,也挺不错的。至于jbuilder4的下载,也还是去搜索一下吧,还有要对jbuilder熟悉一下,www.94soft.com里面有jbuilder书籍下载,有爱好就去下一个看看,挺不错的。
  
  现在开始JAR的第一步,jdk提供了jar的工具,就在java所在目录的bin目录下有一个jar.exe的应用程序,可以试着新建一个jar文件:
  
  jar cvf test1.jar *.class image
  
  c参数表示在标准输出上创建新归档或空归档,
  
  v参数表示把添加了一些什么的信息在标准输出上显示,
  
  f 参数在这里表示用什么样的jar文件名,
  
  在jbuilder里面新建一个JAR更加方便,wizards菜单的archive builder一步步往下选就可以了。
  
  为了更好的钻研JAR,就从在jbuilder做个applet开始吧,做这样一个东西,在一个面板上有一个按钮,右键单击按钮将弹出一个菜单。
  
  新建一个工程test1.jpr
  
  再新建一个applet applet1.Java
  
  接下来在面板上摆上一个java.awt.button,
  
  再摆上一个java.awt.popupMenu,在popupMenu的编辑面板输入几个选项。
  
  这样控件摆完了,接下来是写相应的事件,源程序如下:
  
   package test1;
  import java.awt.*;
  import java.awt.event.*;
  import java.applet.*;
  public class Applet1 extends Applet {
  boolean isStandalone = false;
  PopupMenu popupMenu1 = new PopupMenu();
  MenuItem menuItem1 = new MenuItem();
  MenuItem menuItem2 = new MenuItem();
  MenuItem menuItem3 = new MenuItem();
  Button button1 = new Button();
  /**Get a parameter value*/
  public String getParameter(String key, String def) {
  return isStandalone ? System.getProperty(key, def) :
  (getParameter(key) != null ? getParameter(key) : def);
  }
  /**ConstrUCt the applet*/
  public Applet1() {
  }
  /**Initialize the applet*/
  public void init() {
  try {
  jbInit();
  }
  catch(Exception e) {
  e.printStackTrace();
  }
  }
  /**Component initialization*/
  private void jbInit() throws Exception {
  menuItem1.setLabel("1");
  menuItem2.setLabel("2");
  menuItem3.setLabel("3");
  button1.setLabel("button1");
  file://这是button1的监听事件,
  button1.addMouseListener(new java.awt.event.MouseAdapter() {
  public void mousePressed(MouseEvent e) {
  button1_mousePressed(e);
  }
  });
  popupMenu1.add(menuItem1);
  popupMenu1.add(menuItem2);
  popupMenu1.add(menuItem3);
  this.add(button1, null);
  add(popupMenu1);

  
  

精彩图集

赞助商链接