2013-11-15 5 views
0

Мне нужна ваша помощь. У меня есть 2 приложения на Java. У меня есть один из них, чтобы вызвать из другого. т.е. приложение «A» нажимает кнопку, которая открывает мое приложение «B» у кого-то есть представление о том, как вы можете это сделать?Открыть приложение Java от другого

PS: оба приложения были разработаны в Java swing с netbeans.

+1

Вы хотите, чтобы они выполняются в контексте виртуальной машины Java или если приложение «B» должно быть запущено в его собственной JVM – MadProgrammer

+0

См. также [Q & A] (http://stackoverflow.com/q/5696386/230513). – trashgod

ответ

0

У вас может быть один другой, и один из них содержит значение false, visibilty, а затем измените видимость.

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

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()); 
} 

Или поместить файл банки в пути класса и вызывает его основной метод().

Ref:

  1. Launch External Jar through Java Application
  2. Running an external jar file by pressing a JButton
0

Вы можете просто сделать с помощью Dispose() метода с объектом кадра программы A закрыть программу A и setDefaultCloseOperation - HIDE_O N_CLOSE, потому что если вы установите его в EXIT_ON_CLOSE он отменит, а также вам нужно вызвать конструктор или метод программы B до Dispose(), чтобы запустить программу 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(); 
Смежные вопросы