Memulakan aplikasi kendiri dari dalam aplikasi lain, walaupun kedua-dua aplikasi milik pakej yang sama, boleh kelihatan mudah tetapi boleh menjadi sukar untuk dilaksanakan dengan betul. Sebagai permulaan, pemeriksaan mendalam tentang isu itu diperlukan.
Masalah timbul apabila cuba menggunakan kaedah pelancaran() subkelas Aplikasi dari dalam subkelas Aplikasi yang lain. Pendekatan ini mencetuskan ralat kerana kaedah pelancaran() bertujuan untuk memulakan keseluruhan aplikasi dan tidak boleh digunakan lebih daripada sekali.
Untuk mengelakkan ralat ini, adalah penting untuk mengenali bahawa subkelas Aplikasi mewakili lengkap aplikasi yang berjalan dalam Java Virtual Machine (JVM). Akibatnya, ia hanya boleh digunakan sekali bagi setiap JVM untuk setiap aplikasi berasingan. Mana-mana kod boleh guna semula hendaklah dialihkan ke kelas berasingan di luar subkelas Aplikasi.
Pemfaktoran Semula untuk Komponen Boleh Digunakan Semula
Daripada menggunakan subkelas Aplikasi, pendekatan yang lebih fleksibel ialah dengan menggunakan kelas biasa untuk komponen individu. Kelas-kelas ini kemudiannya boleh digunakan dan digunakan mengikut keperluan, membolehkan penciptaan aplikasi kendiri atau penyepaduan ke dalam aplikasi yang lebih besar.
public class FirstModule { private BorderPane view; public FirstModule() { view = new BorderPane(); // ... } public Parent getView() { return view; } }
public class CompositeModule { private HBox view; public CompositeModule() { // ... } public Parent getView() { return view; } }
Pengintegrasian ke dalam Aplikasi Kendiri
Untuk mencipta aplikasi bebas, nyatakan modul yang diperlukan dalam Aplikasi subkelas.
public class FirstApplication extends Application { @Override public void start(Stage primaryStage) { Scene scene = new Scene(new FirstModule().getView()); // ... } }
Integrasi ke dalam Aplikasi yang Lebih Besar
Untuk memasukkan modul ini dalam aplikasi yang lebih besar, cipta kelas yang menggabungkannya.
public class CompositeApplication extends Application { @Override public void start(Stage primaryStage) { Scene scene = new Scene(new CompositeModule().getView()); // ... } }
Kesimpulan
Teknik ini menawarkan fleksibiliti yang lebih besar dan membolehkan pembangunan komponen boleh guna semula, yang boleh digunakan dalam pelbagai aplikasi kendiri atau disepadukan ke dalam aplikasi yang lebih meluas. Penstrukturan semula ini juga selaras dengan reka bentuk yang dimaksudkan bagi seni bina JavaFX MVC, memisahkan logik aplikasi daripada komponen antara muka pengguna.
Atas ialah kandungan terperinci Bagaimana untuk Memulakan Aplikasi JavaFX Berdiri daripada Contoh Lain dalam Pakej yang Sama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!