के साथ स्केल करता है मैं उन्नत मल्टीमीडिया, वेबव्यूअर और दृश्य प्रभावों का उपयोग करने की संभावना के कारण स्विंग के बजाए एक परियोजना में जावाएफएक्स का उपयोग कर रहा हूं। हालांकि, मैं क्या मैं वेब (http://docs.oracle.com/javafx/2/layout/jfxpub-layout.htm और अन्य) पर क्या मिला से सीखा है है कि JavaFX लेआउट प्रबंधकों माता पिता सामग्री के आकार के आधार के आकार स्केलिंग पर फोकस, जबकि स्विंग पर ध्यान केंद्रित कम से कम Layout
पर आधारित माता-पिता के अनुसार सामग्री स्केलिंग।जावाएफएक्स लेआउट जो माता-पिता
अभी मैं कुछ TitledPane
बच्चों के साथ Accordion
का उपयोग कर रहा हूं। उनमें से एक को GridPane
सरल कारण के लिए GridLayout
अनुकरण करने का सबसे अच्छा तरीका है (जैसा कि मैंने अपने पिछले प्रश्न से यहां सीखा है: JavaFX layout equivalent to GridLayout)। मैं TitledPane
की सामग्री को 2 पंक्तियों और 1 कॉलम में विभाजित करना चाहता हूं, प्रत्येक पंक्ति TitledPane
में उपलब्ध स्थान की 50% ऊंचाई (Stage
या Scene
के साथ स्केलिंग) के साथ, BorderLayout.CENTER
के अंदर क्या होगा । इसके लिए, मैंने के साथ setPercentHeight(50)
और 1 ColumnConstraint
का उपयोग करके एस के साथ जोड़ा है। हालांकि, मैंने देखा है कि सामग्री ग्रिड के साथ ठीक से स्केल कर रही है, लेकिन ग्रिड TitledPane
में सभी उपलब्ध स्थान नहीं ले रहा है (क्योंकि जाहिर है कि यह BorderPane
के केंद्र की तरह कार्य नहीं करता है)। मैंने माता-पिता के साथ सामग्री स्केल करने के लिए setMaxWidth
के साथ भी प्रयास किया है, लेकिन ऐसा लगता है कि यह काम नहीं करता है (जैसा कि यहां बताया गया है: JavaFX: How to make my custom component use all available space from parent layout?)। और यहां तक कि अगर ऐसा होता है, तो क्या मुझे अपने यूआई तत्वों के पेड़ में अधिकतम चौड़ाई को प्रत्येक वंश में सेट करने की आवश्यकता है ताकि उनमें से सभी स्केल हो सकें?
किसी भी तरह से, क्या कोई जानता है कि TitledPane
को 2 समान रिक्त स्थान के साथ कैसे बनाया जाए जो शीर्षक वाले आकार के साथ स्केल करते हैं?
आप मुझे बता सकते हैं क्या अंतर setPercentWidth (100) और setFillWidth (सही) + setHgrow (Priority.ALWAYS) के बीच है: तरीका है कि ऐसा करने के लिए निम्नलिखित बाधा जोड़ने के लिए है? – Warkst
setPercentWidth setHGrow (Priority.ALWAYS) के बजाय भी काम करेगा। यदि आप केवल एक कॉलम का उपयोग कर रहे हैं तो वे दोनों एक ही काम करेंगे। यदि आपके पास एकाधिक कॉलम हैं, तो वे अलग-अलग काम करेंगे। चूंकि setHGrow लेआउट को बताने का प्रयास करेगा क्योंकि ग्रिडपेन के कॉलम को अनधिकृत उपलब्ध स्थान को भरने के लिए बढ़ने की आवश्यकता है। – Rasha
setFillWidth (सत्य) कॉलम की सामग्री के लिए है, न कि कॉलम स्वयं। डिफ़ॉल्ट मुझे लगता है कि सच है। तो आपको इसे सेट करने की आवश्यकता नहीं है। इसका अर्थ यह है कि कॉलम के बच्चों को कॉलम की सभी चौड़ाई को भरने के लिए समायोजित किया जाएगा या नहीं। – Rasha