jar基本命令:


目标:将下列MyMenuDemo.java代码打包成jar。

方法如下:

1.把java代码放到d:\myclass目录下。

2.按下快捷键ctrl+r,打开运行窗口,输入cmd后回车。

3.输入"d:"后按下回车键,进入D盘根目录。

4.输入命令:cd myclass,按下回车键。

5.编译java源码文件,输入命令javac MyMenuDemo.java,之后按下回车键执行命令。

之后删除源码MyMenuDemo.java文件。

6.编写配置信息1.txt,内容如下:

7.输入命令cd..退到D盘根目录,然后输入命令jar -cvfm my_jarname.jar 1.txt myclass。

8.双击my_jarname.jar文件,打开程序。

附录:

java代码如下:

  1. package myclass;
  2. import java.awt.FileDialog;
  3. import java.awt.Frame;
  4. import java.awt.Menu;
  5. import java.awt.MenuBar;
  6. import java.awt.MenuItem;
  7. import java.awt.TextArea;
  8. import java.awt.event.ActionEvent;
  9. import java.awt.event.ActionListener;
  10. import java.awt.event.WindowAdapter;
  11. import java.awt.event.WindowEvent;
  12. import java.io.BufferedReader;
  13. import java.io.BufferedWriter;
  14. import java.io.File;
  15. import java.io.FileNotFoundException;
  16. import java.io.FileReader;
  17. import java.io.FileWriter;
  18. import java.io.IOException;
  19.  
  20. class MyMenuDemo {
  21. private Frame f;// 定义窗体
  22. private MenuBar bar;// 定义菜单栏
  23. private TextArea ta;
  24. private Menu fileMenu;// 定义"文件"和"子菜单"菜单
  25. private MenuItem openItem, saveItem, closeItem;// 定义条目“退出”和“子条目”菜单项
  26.  
  27. private FileDialog openDia, saveDia;// 定义“打开、保存”对话框
  28. private File file;//定义文件
  29.  
  30. MyMenuDemo() {
  31. init();
  32. }
  33.  
  34. /* 图形用户界面组件初始化 */
  35. public void init() {
  36. f = new Frame("my window");// 创建窗体对象
  37. f.setBounds(300, 100, 650, 600);// 设置窗体位置和大小
  38.  
  39. bar = new MenuBar();// 创建菜单栏
  40. ta = new TextArea();// 创建文本域
  41.  
  42. fileMenu = new Menu("文件");// 创建“文件”菜单
  43.  
  44. openItem = new MenuItem("打开");// 创建“打开"菜单项
  45. saveItem = new MenuItem("保存");// 创建“保存"菜单项
  46. closeItem = new MenuItem("退出");// 创建“退出"菜单项
  47.  
  48. fileMenu.add(openItem);// 将“打开”菜单项添加到“文件”菜单上
  49. fileMenu.add(saveItem);// 将“保存”菜单项添加到“文件”菜单上
  50. fileMenu.add(closeItem);// 将“退出”菜单项添加到“文件”菜单上
  51.  
  52. bar.add(fileMenu);// 将文件添加到菜单栏上
  53.  
  54. f.setMenuBar(bar);// 将此窗体的菜单栏设置为指定的菜单栏。
  55.  
  56. openDia = new FileDialog(f, "打开", FileDialog.LOAD);
  57. saveDia = new FileDialog(f, "保存", FileDialog.SAVE);
  58.  
  59. f.add(ta);// 将文本域添加到窗体内
  60. myEvent();// 加载事件处理
  61.  
  62. f.setVisible(true);// 设置窗体可见
  63.  
  64. }
  65.  
  66. private void myEvent() {
  67.  
  68. // 打开菜单项监听
  69. openItem.addActionListener(new ActionListener() {
  70. public void actionPerformed(ActionEvent e) {
  71.  
  72. openDia.setVisible(true);//显示打开文件对话框
  73.  
  74. String dirpath = openDia.getDirectory();//获取打开文件路径并保存到字符串中。
  75. String fileName = openDia.getFile();//获取打开文件名称并保存到字符串中
  76.  
  77. if (dirpath == null || fileName == null)//判断路径和文件是否为空
  78. return;
  79. else
  80. ta.setText(null);//文件不为空,清空原来文件内容。
  81. file = new File(dirpath, fileName);//创建新的路径和名称
  82.  
  83. try {
  84. BufferedReader bufr = new BufferedReader(new FileReader(file));//尝试从文件中读东西
  85. String line = null;//变量字符串初始化为空
  86. while ((line = bufr.readLine()) != null) {
  87. ta.append(line + "\r\n");//显示每一行内容
  88. }
  89. bufr.close();//关闭文件
  90. } catch (FileNotFoundException e1) {
  91. // 抛出文件路径找不到异常
  92. e1.printStackTrace();
  93. } catch (IOException e1) {
  94. // 抛出IO异常
  95. e1.printStackTrace();
  96. }
  97.  
  98. }
  99.  
  100. });
  101.  
  102. // 保存菜单项监听
  103. saveItem.addActionListener(new ActionListener() {
  104. public void actionPerformed(ActionEvent e) {
  105. if (file == null) {
  106. saveDia.setVisible(true);//显示保存文件对话框
  107. String dirpath = saveDia.getDirectory();//获取保存文件路径并保存到字符串中。
  108. String fileName = saveDia.getFile();////获取打保存文件名称并保存到字符串中
  109.  
  110. if (dirpath == null || fileName == null)//判断路径和文件是否为空
  111. return;//空操作
  112. else
  113. file=new File(dirpath,fileName);//文件不为空,新建一个路径和名称
  114. }
  115. try {
  116. BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
  117.  
  118. String text = ta.getText();//获取文本内容
  119. bufw.write(text);//将获取文本内容写入到字符输出流
  120.  
  121. bufw.close();//关闭文件
  122. } catch (IOException e1) {
  123. //抛出IO异常
  124. e1.printStackTrace();
  125. }
  126.  
  127. }
  128.  
  129. });
  130.  
  131. // 退出菜单项监听
  132. closeItem.addActionListener(new ActionListener() {
  133. public void actionPerformed(ActionEvent e) {
  134. System.exit(0);
  135. }
  136.  
  137. });
  138.  
  139. // 窗体关闭监听
  140. f.addWindowListener(new WindowAdapter() {
  141. public void windowClosing(WindowEvent e) {
  142. System.exit(0);
  143.  
  144. }
  145.  
  146. });
  147. }
  148.  
  149. public static void main(String[] args) {
  150. new MyMenuDemo();
  151. }
  152. }

非常感谢您有耐心看完了此文。

为了表示报答,特此献出一秘籍 。

***************************************************

如果jar文件关联失败,想单击一个文件就启动软件如何做呢?

用批处理搞定,编写批处理特别简单,只需记事本写内容,写好后另存为*.bat文件就行。

如果是MyMenuDemo.java源码可编写下列批处理,可实现单击启动程序功能。

Run.bat文件内容如下:

  1. @echo off
  2. javac MyMenuDemo.java
  3. java MyMenuDemo
  4. @pause
  5. del *.class

如果是MyMenuDemo.jar文件,那么编写批处理:

run.bat,文件内容如下:

  1. java -jar MyMenuDemo.jar

上篇:12.JAVA之GUI编程打开与保存文件

13.JAVA之GUI编程将程序打包jar的更多相关文章

  1. 12.JAVA之GUI编程打开与保存文件

    功能:java图形用户界面开发,练习打开保存文件 代码如下: import java.awt.FileDialog; import java.awt.Frame; import java.awt.Me ...

  2. java基础—GUI编程(一)

    一.AWT介绍

  3. 【Java】GUI编程

    GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上 ...

  4. 8.JAVA之GUI编程键盘码查询器

    程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本 ...

  5. 9.JAVA之GUI编程列出指定目录内容

    代码如下: /*列出指定目录内容*/ import java.awt.Button; import java.awt.FlowLayout; import java.awt.Frame; import ...

  6. 11.JAVA之GUI编程菜单

    功能:添加菜单组件 知识总结: 代码如下: import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Menu; impor ...

  7. Java之GUI编程

    GUI编程 组建 窗口 弹窗 面板 文本框 列表框 按钮 图片 监听事件 鼠标 键盘事件 破解工具 1.简介 GUI的核心技术:Swing AWT 为什么不流行? 界面不美观. 需要jre环境.(没必 ...

  8. 1.JAVA之GUI编程概述

          下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式:                             ...

  9. 2.JAVA之GUI编程布局

    布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...

随机推荐

  1. Jexus 5.8.2 正式发布为Asp.Net Core进入生产环境提供平台支持

    Jexus 是一款运行于 Linux 平台,以支持  ASP.NET.PHP 为特色的集高安全性和高性能为一体的 WEB 服务器和反向代理服务器.最新版 5.8.2 已经发布,有如下更新: 1,现在大 ...

  2. C# MVC 5 - 生命周期(应用程序生命周期&请求生命周期)

    本文是根据网上的文章总结的. 1.介绍 本文讨论ASP.Net MVC框架MVC的请求生命周期. MVC有两个生命周期,一为应用程序生命周期,二为请求生命周期. 2.应用程序生命周期 应用程序生命周期 ...

  3. 【开源】.net 分布式架构之监控平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理 ...

  4. mybatis_个人总结

    在使用mybatis框架开发数据访问层的过程中,我在这段时间遇到很多细节问题困住我,在这里我来分享一下我遇到的坑,希望能帮到大家. 一.mybatis动态代理方式开发的规范: 1.注意在mybatis ...

  5. jq选择器基础

    Jquery $代表选择器 使用jq必须要导入jq文件 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&qu ...

  6. 深入解析Sqlite的完美替代者,android数据库新王者——Realm

    写在前面: 又到一年一度七夕虐狗节,看着大家忍受着各种朋友圈和QQ空间还有现实生活中的轮番轰炸,我实在不忍心再在这里给大家补刀,所以我觉得今天不虐狗,继续给大家分享有用的. 如果你比较关心androi ...

  7. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  8. Java 经典入门(一)

    一.什么是 Java 技术?为何需要 Java? Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.有许多应用程序和 Web 站点只有在安装 Java 后 ...

  9. Tomcat常见问题及常用命令

    很长时间不用tomcat好多命令都忘记了,所以准备自己记录下来,以便参考.刚好也希望可以开始养成记博客的好习惯. 1.查看java的版本号 进入java的安装目录后,使用命令:java -versio ...

  10. 【JavaScript】javascript中伪协议(javascript:)使用探讨

    javascript:这个特殊的协议类型声明了URL的主体是任意的javascript代码,它由javascript的解释器运行. 比如下面这个死链接: <a href="javasc ...