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代码如下:

package myclass;
import java.awt.FileDialog;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; class MyMenuDemo {
private Frame f;// 定义窗体
private MenuBar bar;// 定义菜单栏
private TextArea ta;
private Menu fileMenu;// 定义"文件"和"子菜单"菜单
private MenuItem openItem, saveItem, closeItem;// 定义条目“退出”和“子条目”菜单项 private FileDialog openDia, saveDia;// 定义“打开、保存”对话框
private File file;//定义文件 MyMenuDemo() {
init();
} /* 图形用户界面组件初始化 */
public void init() {
f = new Frame("my window");// 创建窗体对象
f.setBounds(300, 100, 650, 600);// 设置窗体位置和大小 bar = new MenuBar();// 创建菜单栏
ta = new TextArea();// 创建文本域 fileMenu = new Menu("文件");// 创建“文件”菜单 openItem = new MenuItem("打开");// 创建“打开"菜单项
saveItem = new MenuItem("保存");// 创建“保存"菜单项
closeItem = new MenuItem("退出");// 创建“退出"菜单项 fileMenu.add(openItem);// 将“打开”菜单项添加到“文件”菜单上
fileMenu.add(saveItem);// 将“保存”菜单项添加到“文件”菜单上
fileMenu.add(closeItem);// 将“退出”菜单项添加到“文件”菜单上 bar.add(fileMenu);// 将文件添加到菜单栏上 f.setMenuBar(bar);// 将此窗体的菜单栏设置为指定的菜单栏。 openDia = new FileDialog(f, "打开", FileDialog.LOAD);
saveDia = new FileDialog(f, "保存", FileDialog.SAVE); f.add(ta);// 将文本域添加到窗体内
myEvent();// 加载事件处理 f.setVisible(true);// 设置窗体可见 } private void myEvent() { // 打开菜单项监听
openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { openDia.setVisible(true);//显示打开文件对话框 String dirpath = openDia.getDirectory();//获取打开文件路径并保存到字符串中。
String fileName = openDia.getFile();//获取打开文件名称并保存到字符串中 if (dirpath == null || fileName == null)//判断路径和文件是否为空
return;
else
ta.setText(null);//文件不为空,清空原来文件内容。
file = new File(dirpath, fileName);//创建新的路径和名称 try {
BufferedReader bufr = new BufferedReader(new FileReader(file));//尝试从文件中读东西
String line = null;//变量字符串初始化为空
while ((line = bufr.readLine()) != null) {
ta.append(line + "\r\n");//显示每一行内容
}
bufr.close();//关闭文件
} catch (FileNotFoundException e1) {
// 抛出文件路径找不到异常
e1.printStackTrace();
} catch (IOException e1) {
// 抛出IO异常
e1.printStackTrace();
} } }); // 保存菜单项监听
saveItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (file == null) {
saveDia.setVisible(true);//显示保存文件对话框
String dirpath = saveDia.getDirectory();//获取保存文件路径并保存到字符串中。
String fileName = saveDia.getFile();////获取打保存文件名称并保存到字符串中 if (dirpath == null || fileName == null)//判断路径和文件是否为空
return;//空操作
else
file=new File(dirpath,fileName);//文件不为空,新建一个路径和名称
}
try {
BufferedWriter bufw = new BufferedWriter(new FileWriter(file)); String text = ta.getText();//获取文本内容
bufw.write(text);//将获取文本内容写入到字符输出流 bufw.close();//关闭文件
} catch (IOException e1) {
//抛出IO异常
e1.printStackTrace();
} } }); // 退出菜单项监听
closeItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
} }); // 窗体关闭监听
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0); } });
} public static void main(String[] args) {
new MyMenuDemo();
}
}

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

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

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

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

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

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

Run.bat文件内容如下:

@echo off
javac MyMenuDemo.java
java MyMenuDemo
@pause
del *.class

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

run.bat,文件内容如下:

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. python核心编程第二版练习题答案

    2-5 #写一个while循环,输出整型为0~10 a=0while a<11: print a a+=1 #写一个for循环重复以上操作 for i in range(11): print i ...

  2. AndroidTips-052:.aar文件依赖

    aar aar 文件是android 类库项目的输出文件,其中可以包含普通的.class,清单,以及android项目特有的资源文件. 使用方式 将.aar文件放在在自己项目的libs目录下 在gra ...

  3. JS核心系列:浅谈函数的作用域

    一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global&quo ...

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

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

  5. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  6. JavaScript Date对象

    本篇主要介绍 Date 日期和时间对象的操作. 目录 1. 介绍:阐述 Date 对象. 2. 构造函数:介绍 Date 对象的构造函数new Date()几种方式. 3. 实例方法:介绍 Date ...

  7. [WCF]缺少一行代码引发的血案

    这是今天作项目支持的发现的一个关于WCF的问题,虽然最终我只是添加了一行代码就解决了这个问题,但是整个纠错过程是痛苦的,甚至最终发现这个问题都具有偶然性.具体来说,这是一个关于如何自动为服务接口(契约 ...

  8. 几个有趣的WEB设备API 前端提高B格必备(一)——电池状态&震动api

    受到同事启发,突然发现了几个有趣又实用的web api,没想到前端还有这么多有趣的东西可以玩~~简直过分. 1.电池状态API navigator.getBattery():这个api返回的是一个pr ...

  9. 前端性能优化的另一种方式——HTTP2.0

    最近在读一本书叫<web性能权威指南>谷歌公司高性能团队核心成员的权威之作. 一直听说HTTP2.0,对此也仅仅是耳闻,没有具体研读过,这次正好有两个篇章,分别讲HTTP1.1和HTTP2 ...

  10. 解决“chrome提示adobe flash player 已经过期”的小问题

    这个小问题也确实困扰我许久,后来看到chrome吧里面有人给出了解决方案: 安装install_flash_player_ppapi, 该软件下载地址:http://labs.adobe.com/do ...