पर जावाएफएक्स स्टेज/फ़्रेम कैसे सेट करें मैं जावाएफएक्स 2 का उपयोग कर रहा हूं। मैं चाहता हूं कि मेरा फ्रेम अधिकतम हो, लेकिन मुझे कोई रास्ता नहीं दिख रहा है। मैंने सफलता के बिना इंटरनेट पर थोड़ी सी खोज की। मंच के लिए मैं setFullScreen()
और setIconified()
देखता हूं लेकिन मुझे setMaximized()
जैसी कुछ भी दिखाई नहीं दे रही है।मैक्सिमाइज्ड
उत्तर
जब Ensemble.jar की sourcecode JavaFX 2.0 एसडीके के नमूने के साथ प्रदान की मूल्यांकन, खिड़की अधिकतम प्राप्त करने के लिए वर्तमान में मान्य तरीका
Screen screen = Screen.getPrimary();
Rectangle2D bounds = screen.getVisualBounds();
primaryStage.setX(bounds.getMinX());
primaryStage.setY(bounds.getMinY());
primaryStage.setWidth(bounds.getWidth());
primaryStage.setHeight(bounds.getHeight());
(आप WindowButtons.java में इसी तरह के कोड को खोजने) है
'maximize' बटन अभी भी सक्षम है और इसे क्लिक करते समय, विंडोज़ थोड़ा और (विंडोज़ ओएस) बढ़ेगा। इसके बाद 'अधिकतम' बटन अक्षम कर दिया गया है। प्रदान किए गए उदाहरण में मानक बटन बदल दिए जाते हैं। शायद यह अभी भी एक मुद्दा है।
उपयोग इस छोटा करना, बड़ा बटन को हटाने के लिए:
primaryStage.initStyle(StageStyle.UTILITY);
कहाँ primaryStage अपने स्टेज वस्तु है।
चरण श्रेणी के जावा 8 कार्यान्वयन एक अधिकतम संपत्ति, जो इस प्रकार सेट किया जा सकता प्रदान करता है:
primaryStage.setMaximized(true);
धन्यवाद !!!!!! – Matthew
मामलों के लिए एक छोटा सा जोड़ा उपर्युक्त कोड अभी भी काम नहीं करता है - कॉल को कॉल करने के बाद सेटमैक्सिमाइज्ड() को कॉल करें() –
@AramParonikyan मुझे उपरोक्त कोड के साथ समस्या थी। लेकिन शो() अकेले कॉल करना, जैसा कि आपने बताया है, करते हैं इस मुद्दे को हल नहीं किया। मैंने मंच को 'stage.hide();' और फिर 'stage.setMaximized (सत्य) के साथ छिपाने की कोशिश की; और उसके बाद मैंने' stage.show(); 'और इसे हल किया। लेकिन संकेत के लिए वैसे भी धन्यवाद! :) – Kami
बेहतर उपयोग मल्टी-स्क्रीन संगत अधिकतम तर्क:
// Get current screen of the stage
ObservableList<Screen> screens = Screen.getScreensForRectangle(new Rectangle2D(stage.getX(), stage.getY(), stage.getWidth(), stage.getHeight()));
// Change stage properties
Rectangle2D bounds = screens.get(0).getVisualBounds();
stage.setX(bounds.getMinX());
stage.setY(bounds.getMinY());
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
की तुलना में अन्य मूल्यों पर सेट की गई है, जैसा कि एक और उत्तर के साथ, यह अधिकतम नहीं है; यह स्क्रीन के समान आकार है। – GKFX
कोशिश यह सरल कोड primaryStage.setMaximized(true);
और यह पूरी स्क्रीन भरता है। ध्यान दें कि यदि आप अधिकतम/छोटा बटन हटाते हैं तो एप्लिकेशन पूरी स्क्रीन भर जाएगा और टास्कबार को हटा देगा ताकि आपके इनिट स्टाइल को mnd करें यदि आपके पास
_full स्क्रीन_ समस्या को हल करने के लिए ** मल्टी-स्क्रीन संगत अधिकतम तर्क ** के साथ इसे संयोजित करें। पहले 'सेटमैक्सिमाइज्ड', फिर चरण के एक्स, वाई, चौड़ाई और ऊंचाई को सेट करने के लिए 'getVisualBounds' का उपयोग करें। –
मैं सहमत हूं। यह एक मुद्दा की तरह दिखता है। लेकिन धन्यवाद। यह अभी के लिए काम करेगा। – Dorothy
उस http://javafx-jira.kenai.com/browse/RT-10376 के लिए एक सुविधा अनुरोध है - इसके बाद आप इसे जल्द से जल्द प्राप्त करने के लिए वोट देना चाहेंगे। –
हालांकि यह सबसे अच्छा लगता है कि हम अभी कर सकते हैं, इस दृष्टिकोण के साथ कई मुद्दे हैं। उदाहरण के लिए इसमें विश्वसनीय रूप से बताने की क्षमता नहीं है कि कोई विंडो अधिकतम है या नहीं (इसलिए इसे सत्र प्रबंधन में सहेजा/बहाल किया जा सकता है) और यह कई स्क्रीन के साथ आसानी से काम नहीं करता है। आपको 'Screen.getScreens()' के माध्यम से पुन: प्रयास करना होगा और विंडो को चालू करना होगा। जावाएफएक्स को फिर से स्विंग की तरह लगता है :-) –