जावा में एक से अधिक बार लॉन्च() को कैसे कॉल करें
JavaFX एप्लिकेशन लॉन्च विधि, लॉन्च(), को कॉल करने के लिए डिज़ाइन किया गया है प्रति आवेदन केवल एक बार। लॉन्च() को एक से अधिक बार कॉल करने का प्रयास करने से "IllegalStateException" त्रुटि उत्पन्न होती है। लॉन्च() को कई बार करें, निम्नलिखित दृष्टिकोण पर विचार करें:
JavaFX को आरंभ करने के लिए एक बार लॉन्च() को कॉल करें रनटाइम और मुख्य विंडो बनाएं।
प्लेटफॉर्म.सेटइम्प्लिसिटएक्सिट(गलत) का उपयोग करके जावाएफएक्स रनटाइम को पृष्ठभूमि में चालू रखें। यह मुख्य विंडो बंद होने पर JavaFX को स्वचालित रूप से बंद होने से रोकता है।जब आपको एक नई विंडो प्रदर्शित करने की आवश्यकता होती है, तो उसके निर्माण और प्रदर्शन को एक प्लेटफ़ॉर्म.रनलेटर() ब्लॉक में लपेटें। यह सुनिश्चित करता है कि JavaFX ऑपरेशन एप्लिकेशन थ्रेड पर निष्पादित किए जाते हैं। निजी स्थैतिक अंतिम इनसेट SAFETY_ZONE = नए इनसेट(10); निजी लेबल काउवरइनफियर = नया लेबल(); निजी मंच मुख्यमंच; @ओवरराइड सार्वजनिक शून्य प्रारंभ (अंतिम चरण चरण) { मुख्य मंच = मंच; mainStage.setAlwaysOnTop(सत्य); प्लेटफ़ॉर्म.सेटइम्प्लिसिटएक्सिट(झूठा); काउअरइनफियर.सेटपैडिंग(SAFETY_ZONE); काउवरइनफियर.सेटऑनमाउसक्लिक्ड(इवेंट ->प्लेटफार्म.एग्जिट()); स्टेज.सेटसीन(नया दृश्य(cowerInFear)); } सार्वजनिक स्थैतिक शून्य main (String [] args) { प्रक्षेपण(तर्क); // यहां इसकी रचना को लपेटकर एक और विंडो बनाई जा सकती है // और एक प्लेटफ़ॉर्म.रनलेटर() ब्लॉक में प्रदर्शित करें। प्लेटफ़ॉर्म.रनलेटर(() -> { स्टेज न्यूस्टेज = नया स्टेज(); newStage.setScene(नया दृश्य(नया लेबल("एक और विंडो")); newStage.show(); }); } }स्विंग घटकों के साथ उपयोग के लिए, एक किसी एप्लिकेशन के स्थान पर JFXPanel का उपयोग किया जा सकता है।platform.exit() को कॉल करने से JavaFX रनटाइम समाप्त हो जाएगा, इसलिए यह जब सभी JavaFX ऑपरेशन पूरे हो जाएं तो इस विधि को कॉल करना महत्वपूर्ण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3