別のプログラム(.jarファイル)を開く必要があるJavaプログラムを作成しました。プログラムのメインクラスでこのコードを使用すると、すべてが正しく機能します。
File logFile = new File("./ePaymentUpdater.jar");
Desktop.getDesktop().open(logFile.getCanonicalFile());
//or
Runtime.getRuntime().exec("java -jar ePaymentUpdater.jar");
しかし、ユーザーがボタンをクリックしたことに応答してイベントに同じコードを貼り付けると、正常に機能しません。プログラムは実行されているように見えます。これは、本来あるべきフォルダーを作成するためです(このコードはメインにあります)。呼び出されたプログラムのクラス)、ただし、必要なjFrameが表示されない
他のプログラムのフレームの中からフレームを開けられないようです...
これは私のメインクラスです:
package prove_idiote;
import java.awt.Desktop;
import java.io.File;
import javax.swing.JOptionPane;
public class Main {
    public static void main(String[] args) {  
//        try {
//            Runtime.getRuntime().exec("java -jar ePaymentUpdater.jar");
//        } catch (Exception e) {            
//            System.out.println(e);
//        }
        Tester tester = new Tester();
        tester.setVisible(true);       
    }   
}
そして、これは私のボタンイベントです:
private void ExecuteActionPerformed(java.awt.event.ActionEvent evt) {                                         
    try {
        JOptionPane.showMessageDialog(null, "before" ,"ATTENZIONE!",JOptionPane.WARNING_MESSAGE);
        Runtime.getRuntime().exec("java -jar ePaymentUpdater.jar");
        JOptionPane.showMessageDialog(null, "after" ,"ATTENZIONE!",JOptionPane.WARNING_MESSAGE);
    } catch (Exception e) {            
        System.out.println(e);
    }
}