1

2 つの Java Swing アプリケーションがあり、最初のアプリケーションを 2 番目から実行できるようにする必要があります。最初のものを jar にコンパイルし、2 番目のクラスパスに配置しました。アプリケーションから最初の jar のメイン クラスを呼び出していますが、空白のフレームしか表示されません。最初の Jar の Main は次のようになります。

import java.awt.EventQueue;
import java.awt.Frame;
import javax.swing.JDialog;
public class AskulLibrary extends Frame implements Runnable{
final Frame frame;
    public AskulLibrary(Frame frame) {
        this.frame = frame;
    }

    public void run() {
        frame.show();
    }

    public static void main(String[] args) {
        JDialog.setDefaultLookAndFeelDecorated(true);
        // Throw a nice little title page up on the screen first
        new Splash().showSplash(3000);
        EventQueue.invokeLater(new AskulLibrary(new JLibrary()));
    }
}

次のように、2 番目のアプリケーションからこのメイン クラスを呼び出しています。

import com.AskulLibrary;
import java.awt.Frame;
public class MainFrame extends JFrame{
       AskulLibrary lib;
       Frame frame;
     public MainFrame(){
    frame = new new Frame();
    lib = new AskulLibrary (frame);
    lib.run();

}

}

最初の Jar を初期化する代わりに、空の Frame を取得しているため、どこかで何か間違ったことをしています。これは最初のプログラムを正常に実行していますが、このようにjarを実行したくありません。

Runtime.getRuntime().exec("java -jar lib/Myfirstjar.jar");
4

1 に答える 1