德克云技术联盟

会员中心
发新帖
打印 上一主题 下一主题

在JAVA SWT 应用程序中自身重启应用
发布人: 李昭 发布时间:2014-11-05 浏览:7776

在我们编写SWT程序的时候,有时候在程序内部进行了某些设置以后,或者对启动文件中的配置进行了一些修改以后,需要应用程序重新启动一下,怎么做呢?下面我们就来看看怎么做这个。

1、新建个SWT项

2、新建个SWT窗

3、试运行


4、能出现下面这个窗口,说明SWT项目兴建成功。

5、添加按钮:

6、为按钮添加以下事件处理:

/**
     * Create contents of the window.
     */
    protected void createContents() {
        shell = new Shell();
        shell.setSize(450, 300);
        shell.setText("SWT Application");
        
        Button button = new Button(shell, SWT.NONE);
       button.addSelectionListener(reset);
        button.setBounds(22, 33, 72, 22);
        button.setText("\u91CD\u65B0\u542F\u52A8");

    }

/**重启*/
    private SelectionListener reset=new SelectionListener() {
        
        @Override
        public void widgetSelected(SelectionEvent arg0) {
            
            ProcessBuilder pb=new ProcessBuilder("java","-jar","newApp.jar");
            try {
                Process p=pb.start();
                System.exit(0);
            } catch (IOException e) {
               
                e.printStackTrace();
                JOptionPane.showMessageDialog(null, e.getMessage(),"提示", JOptionPane.INFORMATION_MESSAGE);
            }
        }
        
        @Override
        public void widgetDefaultSelected(SelectionEvent arg0) {
            
            
        }
    };


其中,newApp.jar是应用发布成为可运行jar包的文件名。

7、进行完上面的步骤后,如果在调试模式下运行,会发现窗口消失了。还没完呢,还需要将整个应用发布后才能行。
     先新建个文件夹,将本项目输出成为可运行jar文件,如图:


8、选定应用程序运行入口窗口以及jar存放地址:




9、jar文件生成了,但是在winXP下点击没反应。我们还需要建两个辅助文件:先加个javastart.bat文件:
@echo off
java -jar newApp.jar


10、bat文件执行时候会出现窗口,这是我不愿意看到的,我决定把它弄没了,所以加了newApp.vbe文件:
set ws=wscript.createobject("wscript.shell")
ws.run "javastart.bat /start",0


11、ok,点击newApp.vbe,测试可行性。





分类浏览
关于我们
联系我们
技术联盟
云服务
云技术
云合作
帮助中心
发帖规则
QQ客服
内部通道
企业邮箱
企业论坛
版本选择
手机版
电脑版
用手机扫描下方二维码查看手机版页面

版权所有 西安云联电子科技有限公司
Copyright @ 2011-2022 | decoclouds.com All Rig
陕ICP备13002202号-1

快速回复 返回顶部 返回列表