0

我需要你的帮助。我有 2 个 Java 应用程序。我有一个可以从另一个调用。即应用程序“A”按下打开我的应用程序“B”的按钮有人知道你怎么能做到这一点?

PS:这两个应用程序都是用 Java swing 和 netbeans 开发的。

4

3 回答 3

0

您可以让一个包含另一个并将被包含的一个设置为 false、可见性,然后更改可见性。像这样的东西

public class AFrame extends JFrame {
     private JButton jbt = new JButton("Open Window");
     private BFrame jfrm = new BFrame();

    public class AFrame(){
        add(jbt);
        jfrm.setVisibile(false);
        add(jfrm);

        jbt.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                jfrm.setVisibile(true);
            }
        });
    }
}


public class BFrame extends JFrame {

    public BFrame(){

   }

}

当按下“打开窗口”按钮时,BFrame设置为可见,然后出现。是AFrame启动程序,其中包含一个BFrame

于 2013-11-15T01:12:31.423 回答
0

尝试使用Desktop.getDesktop().open()函数

try {
    Desktop.getDesktop().open(new File("PATH-TO-YOUR-APPLICATION-JAR\\yourapplication.jar"));
} catch (IOException ex) {
    System.out.println(ex.getMessage());
}

或者将 jar 文件放在类路径中并调用其 main() 方法。

参考:

  1. 通过 Java 应用程序启动外部 Jar
  2. 通过按下 JButton 运行外部 jar 文件
于 2013-11-15T04:20:34.353 回答
0

您可以简单地通过使用程序 A的框架对象的dispose()方法来关闭程序 A 并将默认关闭操作设置为HIDE_ON_CLOSE因为如果将其设置为 exit_on_close 它将终止,并且您还需要在处理之前调用程序 B 的构造函数或方法() 启动B程序

//in the method were you want to stop the first program and start second program
AFrame.setDefaultCloseOperation(AFrame.HIDE_ON_CLOSE);
new ProgramB(); //calling constructor of class B
AFrame.dispose();
于 2017-12-11T04:55:50.757 回答