Mam TabPane
z kilkoma Tab
s. Jeśli wyniki operacji w Tab
nie powiodły się, chcę ustawić czerwony kolor na Tab
Fill
lub teksturę na mieszaną (dla osób z ślepotą barw). Chcę później przywrócić domyślną wartość Color
.Jak programowo ustawić kolor lub teksturę etykiety tabulacji w JavaFX?
Odczytując niektóre z pytań, można ustawić statycznie za pomocą arkusza stylów.
#MyTabPane .tab *.tab-label {
-fx-text-fill: white;
}
Jak można by uzyskać dostęp do Tab
label
i ustaw jego kolor/tekstury dynamicznie?
tab.setStyle("??");
dodane przez ELLTZ
Jak jednokrotnym użyciu inline Style mogą stwierdzono powyżej, aby zmienić Paint
zarówno Label
z klasą stylu tab-label
i Button
(StackPane
) Również tab-close-button
potrzebne przykłady kodu:
Dzięki. Niespodziewanie, jeśli zrobisz tab1.setGraphic (imageView), a następnie tab2.setGraphic (imageView), grafika zmieni się z tab1 na tab2. Tylko jedna karta ma grafikę. – likejiujitsu
Nie jest to zaskakujące, ponieważ węzeł zawsze może być tylko jeden raz w SceneGraph. "Grafika" to ogólny Węzeł w SceneGraph jak każdy Węzeł. – Sebastian
, co sprawia, że zastanawiasz się, dlaczego nazywają to "wykres" w pierwszej kolejności. Ale cóż, tak, to prawda, więc nie jest zaskakujące, że ImageView może mieć tylko jednego rodzica. –