मैं इस कोड के साथ एक सरल दृश्य है:JavaFX 2 और सीएसएस छद्म कक्षाएं: मंडराना स्थापित करने setStyle विधि में जिम्मेदार बताते हैं
scene.getStylesheets().add("packagename/testcss.css");
और मेरे testcss.css है:
.button {
-fx-background-color: #DDFFA4;
}
.button:hover {
-fx-background-color: #9ACD32;
}
मैं क्या हासिल वेब अनुप्रयोगों में जब उर्फ होवर अच्छा प्रभाव है।
...
प्रश्न
मैं कैसे एक ही प्रभाव है, लेकिन एक अलग सीएसएस फ़ाइल के बिना, बस अपना बटन के setStyle विधि के माध्यम से प्राप्त कर सकते हैं?
समस्या यह है कि सेट स्टाइल केवल स्टाइल परिभाषा स्वीकार करता है और चयनकर्ता को छोड़ देता है।
.button:hover
लेकिन जहां मैं इसे सेट करना चाहिए:
button.setStyle("-fx-background-color: #DDFFA4;");
चयनकर्ता, मेरी मंडराना मामले में छद्म वर्ग है?
ध्यान दें कि, एचटीएमएल शैली विशेषता की तरह, इस चर शैली गुणों और मूल्यों और की नहीं चयनकर्ता भाग शामिल हैं:
इसके अलावा, जावाडोक setStyle विधि तर्क से चयनकर्ता को छोड़कर में स्पष्ट है एक शैली नियम।
+1:
नमूना कार्यक्रम निर्गम (अद्यतन बटन के साथ hovered)। समूह में बदलाव का तथ्य भी दिलचस्प है बैकग्राउंडऑनहोवर यूजिंग मानक शैली के लिए इवेंट सेटिंग और प्रारंभिक दोनों घटनाएं, इस तरह हमारे पास विजेट के लिए कॉन्फ़िगरेशन का एक बिंदु है, अंतर्निहित संशोधनों के जोखिम को कम करता है, और उस घटना-आधारित समाधान को हाइलाइट करने के अतिरिक्त चरण की आवश्यकता होती है प्रारंभ। इस तरह की विधि को "initButtonStyle" जैसे कुछ नामों के साथ प्रारंभिक के रूप में भी देखा जा सकता है। – AgostinoX
हैलो यहूदीया, आपने बताया कि जावाएफएक्स 8 कुछ संशोधनों की अनुमति देता है। क्या हमारे पास एक लिंक या उदाहरण हो सकता है :)।क्योंकि सवाल वास्तव में पुराना है और इस भाग में थोड़ा सा अपडेट चाहिए। – GOXR3PLUS
जावाएफएक्स 8 पृष्ठभूमि एपीआई के लिंक के लिए अद्यतन उत्तर। – jewelsea