我编写了一个 Java 程序,它应该打开另一个程序(这是一个 .jar 文件)。如果我在程序的主类中使用此代码,则一切正常:
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);
}
}