Guten Abend allerseits
Ich habe in den letzten Tagen viel herumexperimentiert und gelesen, aber so richtig komme ich nicht weiter.
Folgendes: Ich will eine TreeView farblich hervorheben. Wenn ich in der CSS-Datei folgendes ändere:
[CODE lang="css" title="Modena"].tree-cell {
-fx-background: red; /*-fx-control-inner-background;*/
-fx-background-color: -fx-background;
-fx-text-fill: -fx-text-background-color;
}[/CODE]
erscheint der betreffende Teil des Fensters rot (standard ist weiß) - alles ist gut.
Jetzt ergänze ich in der CSS-Datei folgendes:
Nun sieht das Fenster wieder so aus wie immer - so weit ist das auch ok. Jetzt gibt noch eine Methode, in der ich die Farbe ändern will (Zeile 61, 62):
Ich habe es auch mit allen anderen Nodeobjekten versucht, aber ohne Erfolg. Sieht da jemand, was ich nicht sehe oder was ich da verkehrt mache?
Ich habe in den letzten Tagen viel herumexperimentiert und gelesen, aber so richtig komme ich nicht weiter.
Folgendes: Ich will eine TreeView farblich hervorheben. Wenn ich in der CSS-Datei folgendes ändere:
[CODE lang="css" title="Modena"].tree-cell {
-fx-background: red; /*-fx-control-inner-background;*/
-fx-background-color: -fx-background;
-fx-text-fill: -fx-text-background-color;
}[/CODE]
erscheint der betreffende Teil des Fensters rot (standard ist weiß) - alles ist gut.
Jetzt ergänze ich in der CSS-Datei folgendes:
CSS:
.tree-cell {
-fx-background: -fx-control-inner-background;
-fx-background-color: -fx-background;
-fx-text-fill: -fx-text-background-color;
}
.tree-cell-jcls {
-fx-background: red;
-fx-background-color: -fx-background;
-fx-text-fill: -fx-text-background-color;
}
Java:
public class LibraryBrowserPane extends Pane implements ModelObservable, VSlave {
private ViewdataControllable mainview;
private VBox vbox;
private StackPane tree;
private TreeView<String> treeView;
private HashMap<TreeItem<String>, LibraryTreeitemModel> treeitemMap;
private TreeItem<String> rootItem;
private LibrarybrowserContextmenu treeContextmenu;
Address getSelectedLibrarypage() {
//...
}
public LibraryBrowserPane(ViewdataControllable mainview) {
this.mainview = mainview;
initGUI();
}
private void initGUI() {
vbox = new VBox();
vbox.setSpacing(10);
getChildren().setAll(vbox);
tree = new StackPane();
vbox.getChildren().add(tree);
refreshTreeview();
}
private void refreshTreeview() {
//...
}
private void changeMarking() {
//...
}
@Override
public void notifyAboutChanges(ModelChange change) {
//...
}
@Override
public ArrayList<ModelChange> needModelregistration() {
//...
}
void setContextMenu(LibrarybrowserContextmenu contextmenu) {
//...
}
@Override
public void receiveCommand(SlaveCommands command) {
switch (command) {
case CLEAR:
break;
case MARK_LIBRARYBROWSER:
treeView.getStyleClass().clear();
treeView.getStyleClass().add("tree-cell-jcls");
break;
default:
//do nothing
}
}
}
Ich habe es auch mit allen anderen Nodeobjekten versucht, aber ohne Erfolg. Sieht da jemand, was ich nicht sehe oder was ich da verkehrt mache?