मैं JDK8 build 87
का उपयोग कर रहा हूं और css stylesheets
को गतिशील रूप से जोड़ना और निकालना चाहता हूं जैसे कि वे मेरे पूरे JavaFX
एप्लिकेशन द्वारा उपयोग किए जा सकते हैं।पूरे जावाएफएक्स एप्लिकेशन के लिए मैं सीएसएस को गतिशील रूप से कैसे जोड़ूं और हटा सकता हूं?
फिलहाल मैं डिफ़ॉल्ट styleSheet
सेट कर रहा हूं इस आदेश का उपयोग:
Application.setUserAgentStylesheet(Application.STYLESHEET_MODENA);
और फिर जब मैं एक अतिरिक्त सीएसएस शैली पत्रक मैं यह कर जोड़ना चाहते हैं:
com.sun.javafx.css.StyleManager.getInstance.addUserAgentStylesheet(styleSheet);
यह काम करता है लेकिन मुझे दो समस्याएं हैं। सबसे पहले, यह निजीAPI
का उपयोग कर रहा है और दूसरी बार ऐसा करने के बाद इसे हटाने का एक तरीका प्रतीत नहीं होता है (मैं OSGI
का उपयोग कर रहा हूं, इसलिए मॉड्यूल आने और जाने के लिए यह आम है)।
2012 के शुरू में सार्वजनिकAPI
करने के लिए StyleManager
जाने के बारे में बात करते हैं नहीं था लेकिन मुझे यकीन है कि कुछ भी के बारे में क्या हुआ है नहीं कर रहा हूँ।
क्या कोई styleSheets
जोड़ने के लिए किसी सार्वजनिक विधि के बारे में जानता है जैसे कि वे पूरे JavaFX
एप्लिकेशन पर लागू होते हैं? इसके अलावा कोई उन्हें कैसे हटाएगा? के रूप में Boomah बताते
// load default global stylesheet
Application.setUserAgentStylesheet(null);
// add custom global stylesheet
StyleManager.getInstance().addUserAgentStylesheet(AQUA_CSS_NAME);
हालांकि, StyleManager.getInstance().addUserAgentStylesheet
का हिस्सा नहीं है:
ने नया टैग जोड़ा, सुझाव के लिए धन्यवाद। –
बीटीडब्ल्यू, यदि आपको कोई उचित समाधान नहीं मिलेगा, तो आप javafx-jira bugtracker पर tweak या RFE के लिए देखने का प्रयास कर सकते हैं, और यदि आपको कोई भी नहीं मिलेगा - तो अपनी चिमटा फ़ाइल करें - जबकि देर हो चुकी है .. –