jar包双击执行.docx
《jar包双击执行.docx》由会员分享,可在线阅读,更多相关《jar包双击执行.docx(17页珍藏版)》请在冰豆网上搜索。
jar包双击执行
22_14GUI(jar包双击执行)
注备工作
首先,在如下目录中:
其中,含有的代码为:
packageGUI;//注意包名为GUI
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
/**
*22_12GUI(练习-打开文件)
*22_13GUI(练习-保存文件)
**/
publicclassMyMenuTest{
privateFramef;
privateMenuBarbar;
privateTextAreata;
privateMenufileMenu;
privateMenuItemopenItem,saveItem,closeItem;
privateFileDialogopenDia,saveDia;
privateFilefile;
MyMenuTest(){
init();
}
publicvoidinit(){
f=newFrame("mywindow");
f.setBounds(300,100,650,600);
//f.setLayout(newFlowLayout());
//菜单条
bar=newMenuBar();
ta=newTextArea();
//菜单
fileMenu=newMenu("文件");
//菜单项
openItem=newMenuItem("打开");
saveItem=newMenuItem("保存");
closeItem=newMenuItem("退出");
//菜单包括菜单项
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.add(closeItem);
//菜单里面可以添加菜单项
bar.add(fileMenu);
f.add(ta);
f.setMenuBar(bar);
openDia=newFileDialog(f,"我要打开",FileDialog.LOAD);//默认为LOAD,打开
saveDia=newFileDialog(f,"我要保存",FileDialog.SAVE);//保存
myEvent();
f.setVisible(true);
}
privatevoidmyEvent(){
saveItem.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
if(file==null){
//文件为空情况,需要弹出保存对话框
saveDia.setVisible(true);
StringdirPath=saveDia.getDirectory();
StringfileName=saveDia.getFile();
//封装成对象
//解决若点击了【取消】时产生的异常,此时没有文件名
if(dirPath==null||fileName==null){
return;
}
file=newFile(dirPath,fileName);
}
try{
BufferedWriterbufw=newBufferedWriter(newFileWriter(file));
Stringtext=ta.getText();
bufw.write(text);
//bufw.flush();
bufw.close();
}
catch(IOExceptione1){
thrownewRuntimeException("");
}
}
});
openItem.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
openDia.setVisible(true);
StringdirPath=openDia.getDirectory();
StringfileName=openDia.getFile();
System.out.println(dirPath+"......"+fileName);
//封装成对象
//解决若点击了【取消】时产生的异常,此时没有文件名
if(dirPath==null||fileName==null){
return;
}
//选择了有效文件,需要将当前区域清空
ta.setText("");
file=newFile(dirPath,fileName);
try{
BufferedReaderbufr=newBufferedReader(newFileReader(file));
Stringline=null;
while((line=bufr.readLine())!
=null){
ta.append(line+"\r\n");
}
bufr.close();
}
catch(IOExceptione1){
thrownewRuntimeException("读取失败");
}
}
});
closeItem.addActionListener(newActionListener(){
@Override
publicvoidactionPerformed(ActionEvente){
System.exit(0);
}
});
f.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}
publicstaticvoidmain(String[]args){
newMyMenuTest();
}
}
编译
在cmd中,进入上述目录:
可用dir列出当前路径下的目录:
进入正题:
编译java文件,输入命令:
javac-de:
\myclassMyMenuTest.java
编译之后,可以查看到:
打开GUI:
打jar包
在cmd中输入:
jar-cvfmy.jarGUI
之后:
但此时双击.jar文件,不能执行,因为GUI中含有很多class文件,不知道执行哪一个,需要配置。
jar配置文件
在如下目录中,新建1.txt:
打开在其中输入:
即:
包名.类名
格式不能错,Main-Class:
与后面部分之间存在空格,而且,别忘了在最后加入回车符。
之后,删除原来的my.jar(不删除也可以)。
在cmd中,输入:
jar-cvfmmy.jar1.txtGUI
最后,再双击.jar包即可执行。
补充——注册
jar文件必须在本地注册过才可以使用,注册过程(提供XP中操作):
在上图中,选择文件夹选项:
单击【文件类型】,
找到JAR,【高级】
上图中有open操作,如果没有则新建一个。
若存在,点【编辑】
若没有上述内容,需要配置:
若没有JAR,则新建:
新建之后:
点【高级】
更改图标:
新建操作:
单击【浏览】:
找javaw.exe
别忘了,后面还需要跟上一个参数:
-jar
最后,单击【确定】,大功告成。