別のプログラム(.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);
}
}