Memulakan Aplikasi Kendiri dalam Pakej yang Sama dalam Java
Memulakan aplikasi kendiri dari dalam aplikasi induk boleh menjadi keperluan biasa dalam pelbagai senario. Walau bagaimanapun, ia menimbulkan cabaran apabila aplikasi kendiri semuanya adalah sebahagian daripada pakej yang sama.
Pendekatan tradisional menggunakan myClass2.launch("") untuk melancarkan myClass2 daripada myClass1 akan mengakibatkan ralat, kerana pelancaran adalah bertujuan untuk dipanggil sekali pada permulaan aplikasi.
Untuk mengatasi isu ini, pendekatan yang lebih sesuai ialah memfaktorkan semula reka bentuk dengan mencipta kelas berasingan untuk setiap modul, dan bukannya melanjutkan kelas Aplikasi. Kelas-kelas ini boleh digunakan dan diuruskan mengikut keperluan.
Memfaktorkan Semula Reka Bentuk Aplikasi
Buat kelas biasa, seperti FirstModule dan SecondModule, untuk merangkum fungsi setiap aplikasi kendiri .
public class FirstModule { private BorderPane view; public FirstModule() { // Create and configure the view } public Parent getView() { return view; } }
Menggerak dan Mengurus Modul
Modul boleh dijadikan instantiated dan diurus terus dalam aplikasi utama.
FirstModule firstModule = new FirstModule(); Scene scene = new Scene(firstModule.getView()); Stage stage = new Stage(); stage.setScene(scene); stage.show();
Mencipta Aplikasi Kendiri
Untuk modul yang memerlukan untuk dijalankan sebagai aplikasi kendiri, subkelas Aplikasi yang berasingan boleh dicipta.
public class FirstApplication extends Application { @Override public void start(Stage primaryStage) { Scene scene = new Scene(new FirstModule().getView()); primaryStage.setScene(scene); primaryStage.show(); } }
Mengintegrasikan Modul ke dalam Aplikasi Komposit
Modul juga boleh disepadukan ke dalam aplikasi komposit yang lebih besar.
public class CompositeModule { private HBox view; public CompositeModule() { // Create buttons to launch individual modules } public Parent getView() { return view; } } public class CompositeApplication extends Application { @Override public void start(Stage primaryStage) { Scene scene = new Scene(new CompositeModule().getView()); primaryStage.setScene(scene); primaryStage.show(); } }
Ini pendekatan membolehkan anda mempunyai berbilang aplikasi kendiri dalam pakej yang sama dan memulakannya dengan lancar dari dalam modul lain atau aplikasi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memulakan Berbilang Aplikasi Java Kendiri dalam Pakej yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!