मैं नियंत्रण एफएक्स के पॉपओवर नोड का उपयोग कर रहा हूं, इसलिए मैं नियंत्रण के पृष्ठभूमि रंग को बदलना चाहता था, इसलिए मैंने अपनी सामग्री नोड का पृष्ठभूमि रंग बदल दिया है, लेकिन इससे तीर और हेडर बिना रंग के रह गए हैं यहां (सफेद बॉक्स सिर्फ कार्ड हैं और सफेद होने के लिए हैं) इसलिए मैंने इस दृष्टिकोण की कोशिश की जो मैंने पाया < a href="https://stackoverflow.com/questions/27513459/styling-javafx-popover">यहां

globalScopingPopOver.show(owner);

((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
        .remove(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());

((Parent) globalScopingPopOver.getSkin().getNode()).getStylesheets()
        .add(getClass().getResource("/css/myCustomPopOver.css").toExternalForm());

जहां myCustomPopOver.css में शामिल हैं:

.popover > .border {
    -fx-fill: rgb(0,0,0);
}

.popover > .header {
    -fx-fill: rgb(0,0,0);
}

जिसने मुझे इस के साथ छोड़ दिया, जिसमें दो स्पष्ट समस्याएं हैं, पहला यह है कि सही सीमा ट्रिम किया गया है और दूसरा यह है कि तीर फ़ुटर बार के नीचे छिपा हुआ है।

पॉपओवर को खींचकर अलग करना सही सीमा समस्या को ठीक करता है, फिर भी कोड द्वारा इसे अलग करना और फिर से जोड़ना हमें वापस भेज देता है जहां हमने सीएसएस स्टाइलशीट के प्रभावों को हटाना शुरू किया था:

globalScopingPopOver.detach();
globalScopingPopOver.setDetached(false);

तो कोई मदद क्यों ऐसा हो रहा है और इसे कैसे ठीक किया जाए?

शुक्रिया!

-1
Ahmed Mourad 18 सितंबर 2017, 03:21

1 उत्तर

सबसे बढ़िया उत्तर

स्टाइलशीट जोड़ने के बाद show(owner) को दूसरी बार कॉल करना मेरे लिए कारगर रहा।

1
DeLoreanDriver 17 नवम्बर 2017, 03:47
यह किया! धन्यवाद!
 – 
Ahmed Mourad
18 नवम्बर 2017, 03:05