假定当前工作目录在E盘:
1、带包编译:javac -d c:\ MyMenuDemo.java
2、DOS命令行切换到c盘,注意,这里一般切换到的是用户文件目录,需要手动切换到C盘根目录
>C:
>cd/
3、jar -cvf my.jar mymenu
装会出现错误:Failed to load Main-Class manifest attribute from c:\my.jar
或者出现异常错误。
原因:很简单,系统不知道先执行哪个类。
解决方法:需要配置:Main-Class属性
4、在mymenu平齐目录下即c:\下新建一个文件,格式随意,例如:1.txt
文件中输入:Main-Class: mymenu.MyMenuDemo
注意格式:冒号后面必须有一个空格,行结尾必须有换行符(回车)****重要****,保存退出。
5、>jar -cvfm my.jar 1.txt mymenu 此时双击my.jar就可以运行了
注意一个小问题:如果jar包是自己安装的,那么没关系。若是绿色版,那么jar没有注册,会出现不识别现象。
xp--工具--文件类型--高级--查看jar情况。具体方法问度娘。
示例程序:
package mymenu;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyMenuDemo
{
private Frame f;
private MenuBar mb;
private Menu m;
private MenuItem closeItem;
private Menu subMenu;
private MenuItem subMenuItem;
MyMenuDemo()
{
init();
}
public void init()
{
f=new Frame("my frame");
f.setBounds(300,200,650,600);
f.setLayout(new FlowLayout()); //设置窗体格式
mb = new MenuBar(); //创建菜单条实例
m = new Menu("文件");//创建菜单实例
closeItem=new MenuItem("退出");//创建菜单项
//创建子菜单子条目实例
subMenu=new Menu("子菜单");
subMenuItem=new MenuItem("子条目");
f.setMenuBar(mb);
mb.add(m);
m.add(closeItem);
//添加子菜单子条目
m.add(subMenu);
subMenu.add(subMenuItem);
myEvent(); //为窗体加载事件
f.setVisible(true);
}
private void myEvent()
{
//窗体关闭事件
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
public static void main(String[] args)
{
new MyMenuDemo();
}
}
//添加事例
class JarTest1
{
}
class JarTest2
{
}
class JarTest3
{
}
class JarTest4
{
}