2014-04-03 9 views
9

मैं फलक का रंग बदलना चाहता हूं। मैं रंग को उपयोगकर्ता से स्ट्रिंग के रूप में प्राप्त करना चाहता हूं। उपयोगकर्ता इस स्ट्रिंग को टेक्स्टफील्ड में टाइप करता है। मैं इस स्ट्रिंग को रंग के रूप में कैसे सेट कर सकता हूं? । कृपया मेरी मदद करो, मैं beginer हूँ :(javafx में फलक का रंग कैसे बदलें?

+0

मैं समझता हूँ कि आप कर रहे हैं शुरुआत, हालांकि आपको हमें अपना प्रयास दिखाना चाहिए। कोड अब तक कैसा दिखता है? क्या आपने निश्चित मूल्य पर फलक का रंग बदलना पूरा किया है? क्या आप उस टेक्स्टफील्ड में मूल्य ले सकते थे जिसे उपयोगकर्ता ने दर्ज किया था? –

+0

हाँ, यह सही है, मैं शुरुआत कर रहा हूं। मैं इस तरह का एक घटक बनाना चाहता हूं: (http://www.uifaces.com) और मैं अपनी समस्या को हल करने की कोशिश करता हूं, लेकिन मुझे बहुत सी समस्याएं हैं :(। मैं जानता हूँ कि !!! फलक को स्ट्रिंग रंग सेट करने के लिए कैसे नहीं और यह मेरा कोड का हिस्सा अब तक है: colorField.setOnKeyTyped (नई eventhandler () { @Override सार्वजनिक शून्य हैंडल (KeyEvent टी) { रंग = colorField.getText(); } }); – maryam

+0

यदि आपको नहीं पता कि कहां से शुरू करना है, तो यहां [try] (http://docs.oracle.com/javase/8/javafx/user-interface- ट्यूटोरियल/index.html); और [यहां] (http://docs.oracle.com/javase/8/javafx/user-interface-tutorial/apply-css.htm#CHDGHCDG) इस विशेष प्रश्न के लिए। [यहां] (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html) जावाएफएक्स सीएसएस के लिए संदर्भ पृष्ठ है, और [पैन] के लिए जावाडॉक्स (http://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html) और [क्षेत्र] (http://docs.oracle.com/javase/8/javafx/api/javafx/ दृश्य/लेआउट/क्षेत्र.html) भी मदद करेगा। –

उत्तर

13

आप वास्तव में सिर्फ कैसे कि विशेष बात यह है कि पूरा करने के लिए जानना चाहते हैं, मेरा सुझाव था निम्नलिखित:

सेट Nodes'CSS इस तरह, का उपयोग करते हुए hexacolor उपयोगकर्ता द्वारा दर्ज किया गया था कि:।

String enteredByUser = "abcdef"; 
yournode.setStyle("-fx-background-color: #" + enteredByUser); 

आप और अधिक जानना कृपया आप सवालों के साथ अधिक विशिष्ट हो सकता है और कुछ कोड नमूने उपलब्ध कराना चाहते हैं

आप के साथ 'JavaFX -8' मैं रूप में अच्छी तरह (केवल JavaFX 8 में काम करता है) कि कोड उदाहरण प्रदान करेंगे इस सवाल में चिह्नित के बाद से:

yournode.setBackground(new Background(new BackgroundFill(Color.web("#" + enteredByUser), CornerRadii.EMPTY, Insets.EMPTY))); 

आशा है कि यह मदद करता है, Laurenz

+0

आपके उत्तर के लिए धन्यवाद, मैं आपका पहला जवाब आज़माता हूं, लेकिन यह काम नहीं करता है, यह चेतावनी का कारण बनता है: (चेतावनी: com.sun.javafx.css.parser.CSSParser शब्द सीएसएस त्रुटि ऑनलाइन शैली को पार्स करने में त्रुटि '-fx-background -color: # '[email protected] से: अनपेक्षित टोकन' # '[1,21] पर), क्या इसका कोई और तरीका है? – maryam

+1

@maryam, ऐसा इसलिए है क्योंकि शैली को सेट करते समय "enterByUser" स्ट्रिंग खाली है। –

+0

दाएं स्ट्रिंग उपयोगकर्ता द्वारा –

संबंधित मुद्दे