2014-07-11 11 views
11

मैं टेक्स्टफ़ील्ड में फ़ॉन्ट रंग बदलना चाहता हूं। मुझे पृष्ठभूमि और सीमा के रंग को बदलने के लिए -fx-background-color, -fx-border-color मिला लेकिन टेक्स्ट के लिए कुछ भी नहीं। कोई विचार? एडवांसjavafx TextField में टेक्स्ट का रंग कैसे बदलें?

उत्तर

9

जावा इनपुट 8 के लिए टेक्स्टफिल्ड जैसे पाठ इनपुट नियंत्रणों के लिए सीएसएस शैलियों को नीचे दिए गए modena.css स्टाइलशीट में परिभाषित किया गया है। कस्टम सीएसएस स्टाइलशीट बनाएं और अपनी इच्छानुसार रंगों को संशोधित करें। CSS reference guide का उपयोग करें यदि आपको वाक्यविन्यास और उपलब्ध विशेषताओं और मानों को समझने में सहायता की आवश्यकता है।

.text-input { 
    -fx-text-fill: -fx-text-inner-color; 
    -fx-highlight-fill: derive(-fx-control-inner-background,-20%); 
    -fx-highlight-text-fill: -fx-text-inner-color; 
    -fx-prompt-text-fill: derive(-fx-control-inner-background,-30%); 
    -fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border), 
     linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background); 
    -fx-background-insets: 0, 1; 
    -fx-background-radius: 3, 2; 
    -fx-cursor: text; 
    -fx-padding: 0.333333em 0.583em 0.333333em 0.583em; /* 4 7 4 7 */ 
} 
.text-input:focused { 
    -fx-highlight-fill: -fx-accent; 
    -fx-highlight-text-fill: white; 
    -fx-background-color: 
     -fx-focus-color, 
     -fx-control-inner-background, 
     -fx-faint-focus-color, 
     linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background); 
    -fx-background-insets: -0.2, 1, -1.4, 3; 
    -fx-background-radius: 3, 2, 4, 0; 
    -fx-prompt-text-fill: transparent; 
} 

हालांकि बाहरी शैलीपत्रक का उपयोग कर शैली देने की एक पसंदीदा तरीका है, आप इनलाइन शैली दे सकते हैं, नीचे की तरह कुछ का उपयोग कर:

textField.setStyle("-fx-text-inner-color: red;"); 
+0

मैं रंग वस्तु है। मैं इसका उपयोग कर टेक्स्टफील्ड रंग कैसे बदल सकता हूं? – alhelal

+1

@alhelal कलर ऑब्जेक्ट को स्ट्रिंग में कनवर्ट करके स्ट्रिंग में कनवर्ट करें: [जावाफैक्स कलरपीकर रंग से हेक्स वेब स्ट्रिंग कैसे प्राप्त करें?] (Https://stackoverflow.com/questions/17925318/how-to-get-hex-web -स्ट्रिंग-से-जावाफैक्स-रंगपिकर-रंग), फिर रंग को स्ट्रिंग पर सेट करें: 'textField.setStyle ("- fx-text-inner-color:" + colorString + ";"); ' – jewelsea

19

मेरे लिए काम करता है -fx-text-fill स्थापना।

नीचे देखें:

if (passed) { 
    resultInfo.setText("Passed!"); 
    resultInfo.setStyle("-fx-text-fill: green; -fx-font-size: 16;"); 
} else { 
    resultInfo.setText("Failed!"); 
    resultInfo.setStyle("-fx-text-fill: red; -fx-font-size: 16;"); 
} 
संबंधित मुद्दे