zoukankan      html  css  js  c++  java
  • 13.JAVA之GUI编程将程序打包jar

    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 + "
    ");//显示每一行内容
                        }
                        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编程打开与保存文件

  • 相关阅读:
    Java 中的传值与传引用
    UML中的类图及类图之间的关系
    [转]多线程下单例模式惰性加载
    中缀表达式转后缀表达式,Java实现
    自用Intellij IDEA设置
    [转]JavaScript将MyBatis打印的日志转化为可执行sql
    SpringBoot利用poi导出excel下载
    详解 HiveUDF 函数
    最全的 Java 知识总结- Github 日增 10 star
    最好用的 Kafka Json Logger Java客户端,赶紧尝试一下
  • 原文地址:https://www.cnblogs.com/xingyunblog/p/3872854.html
Copyright © 2011-2022 走看看