JavaFX TreeView stylen

GhostfaceChilla

Bekanntes Mitglied
Hallo Leute, kann mir jemand erklären wie genau ich meine TreeView stylen kann?Also background etc. Über CSS funktioniert das bei mir nicht, habe irgendwas gehört, das es nur durch TreeCells oder so funktioniert. Aber finde im Internet nicht richtiges dazu.
Vielen Dank schonmal :)

-GhostfaceChilla-
 

dzim

Top Contributor
Auszug aus der caspian.css (zu finden in der jfxrt.jar in deinem JDK):

[XML]
/*******************************************************************************
* *
* TreeView and TreeCell *
* *
******************************************************************************/

.tree-view {
-fx-skin: "com.sun.javafx.scene.control.skin.TreeViewSkin";
-fx-background-color: -fx-box-border, -fx-control-inner-background;
-fx-background-insets: 0, 1;

/* There is some oddness if padding is in em values rather than pixels,
in particular, the left border of the control doesn't show. */
-fx-padding: 1; /* 0.083333em; */
}

.tree-view:focused {
-fx-background-color: -fx-focus-color,-fx-box-border,-fx-control-inner-background;
-fx-background-insets: -1.4, 0, 1;
-fx-background-radius: 1.4, 0, 0;

/* There is some oddness if padding is in em values rather than pixels,
in particular, the left border of the control doesn't show. */
-fx-padding: 1; /* 0.083333em; */
}

.tree-view .scroll-bar:vertical{
-fx-background-insets: 0, 0 0 0 1;
-fx-padding: 0.0 0.0 0.0 0.0;
}

.tree-view .scroll-bar:horizontal{
-fx-background-insets: 0, 1 0 0 0;
-fx-padding: 0.0 0.0 0.0 0.0;
}

.tree-view:disabled {
-fx-opacity: -fx-disabled-opacity;
}

.tree-view .corner {
-fx-background-color: -fx-box-border, -fx-base;
-fx-background-insets: 0, 1 0 0 1;
}

.tree-cell {
-fx-skin: "com.sun.javafx.scene.control.skin.TreeCellSkin";
-fx-background-color: -fx-control-inner-background;
-fx-padding: 0.25em; /* 3 */
-fx-text-fill: -fx-text-inner-color;
-fx-indent: 10;
}

.tree-cell .label {
-fx-padding: 0.0em 0.0em 0.0em 0.25em; /* 0 0 0 3 */
}



.tree-view:focused .tree-cell:focused {
-fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, -fx-control-inner-background;
-fx-background-insets: 0, 1, 2;
}

.tree-view:focused .tree-cell:filled:focused:selected {
-fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, -fx-selection-bar;
-fx-background-insets: 0, 1, 2;
-fx-background: -fx-accent;
-fx-text-fill: -fx-selection-bar-text;
}

.tree-view:focused .tree-cell:filled:selected, .tree-view:focused .tree-cell:filled:selected:hover {
-fx-background: -fx-accent;
-fx-background-color: -fx-selection-bar;
-fx-text-fill: -fx-selection-bar-text;
}

.tree-view:focused .tree-cell:filled:focused:selected:hover {
-fx-background: -fx-accent;
-fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, -fx-selection-bar;
-fx-background-insets: 0, 1, 2;
-fx-text-fill: -fx-selection-bar-text;
}

/* When the TreeView is _not_ focused, we show alternate selection colors */
.tree-cell:filled:selected:focused, .tree-cell:filled:selected {
-fx-background-color: lightgray;
-fx-text-fill: -fx-selection-bar-text;
}

.tree-cell:filled:selected:focused:disabled, .tree-cell:filled:selected:disabled {
-fx-opacity: -fx-disabled-opacity;
}

.tree-cell .tree-disclosure-node {
/** put a bit of padding around the disclosure node to make the clicking region larger */
-fx-padding: 4 2 4 8;
-fx-background-color: transparent;
}

.tree-cell .tree-disclosure-node:disabled {
-fx-opacity: -fx-disabled-opacity;
}

.tree-cell .tree-disclosure-node .arrow {
-fx-background-color: -fx-mark-color;
-fx-padding: 0.333333em; /* 4 */
-fx-shape: "M 0 -4 L 8 0 L 0 4 z";
}

.tree-cell:expanded .tree-disclosure-node .arrow {
-fx-rotate: 90;
}

.tree-cell:filled:selected .tree-disclosure-node .arrow {
-fx-background-color: -fx-selection-bar-text;
}

.tree-cell:filled:hover {
-fx-background-color: -fx-cell-hover-color;
-fx-text-fill: -fx-text-inner-color;
}

.tree-cell:filled:hover .tree-disclosure-node .arrow {
-fx-background-color: -fx-mark-color;
}

.tree-view:focused .tree-cell:filled:focused:hover {
-fx-background-color: -fx-focus-color, -fx-cell-focus-inner-border, -fx-cell-hover-color;
-fx-background-insets: 0, 1, 2;
-fx-text-fill: -fx-text-inner-color;
}

.tree-cell:filled:selected:hover .tree-disclosure-node .arrow {
-fx-background-color: -fx-selection-bar-text;
}
[/XML]

Also ja: Vieles musst du dort auf TreeCell-Ebene machen.

Ich hab das für TableCells bereits gemacht und da klappt alles Erwartungskonform (weitestgehend - bin weder allgmein ein CSS-Guru, noch hab die Struktur von JavaFX schon voll verstanden und Designer bin ich schon mal gar nicht).
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JavaFX TreeView stylen AWT, Swing, JavaFX & SWT 6
M JavaFX TreeView - TreeItem - SelectedItem AWT, Swing, JavaFX & SWT 7
W JavaFX JavaFX - TreeView will nicht AWT, Swing, JavaFX & SWT 8
ProggersWorld JavaFX Icons im TreeView werden nicht angezeigt AWT, Swing, JavaFX & SWT 1
L JavaFX TreeView aufstellen läuft irgendwie auf Endlosschleife AWT, Swing, JavaFX & SWT 3
L JavaFX TreeView Edit Mode über F2 AWT, Swing, JavaFX & SWT 13
ralfb1105 JavaFX TreeView dynamisch aus Datenbank Tabelle erstellen AWT, Swing, JavaFX & SWT 22
B JavaFx TreeView mit file system AWT, Swing, JavaFX & SWT 1
L JavaFX TreeView mit File Objects AWT, Swing, JavaFX & SWT 0
P TreeView automatisch an große von Inhalt anpassen AWT, Swing, JavaFX & SWT 3
P X extends TreeView - eigene Methoden AWT, Swing, JavaFX & SWT 5
I JavaFX Im TreeView, TreeItems sortieren AWT, Swing, JavaFX & SWT 3
B TreeView cellFactory AWT, Swing, JavaFX & SWT 4
D javafx.scene.control.TreeView als dropdown Menü AWT, Swing, JavaFX & SWT 6
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
I JavaFX TreeView Pfeil nicht mehr Klickbar machen AWT, Swing, JavaFX & SWT 1
B JavaFX Wie Treeview aus xml erzeugen AWT, Swing, JavaFX & SWT 11
B Convert Treeview to XML AWT, Swing, JavaFX & SWT 9
N JavaFX TreeView mit verschiedenen Datentypen AWT, Swing, JavaFX & SWT 8
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
agent47 JavaFX TreeView Struktur dynamisch einlesen AWT, Swing, JavaFX & SWT 1
Tom299 JavaFX TreeView Expanded-Icon ändern AWT, Swing, JavaFX & SWT 0
ToBJo JavaFX TreeView zerstört sich selbst AWT, Swing, JavaFX & SWT 1
G JavaFX TreeView AWT, Swing, JavaFX & SWT 3
G Problem mit TreeView AWT, Swing, JavaFX & SWT 2
L TreeViewerColumn - gesamte TreeView-breite nutzen? AWT, Swing, JavaFX & SWT 5
T SWT Treeview größe ändern AWT, Swing, JavaFX & SWT 2
C SWT Error/Warnings in TreeView AWT, Swing, JavaFX & SWT 2
P Eindeutiger Knoten im Treeview AWT, Swing, JavaFX & SWT 3
K SystemIcons v. Dateien & Verz. im TreeView anzeigen AWT, Swing, JavaFX & SWT 2
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
L JavaFX FontAwesomeIcon in TabPane stylen AWT, Swing, JavaFX & SWT 1
L JavaFX Splitpane css stylen AWT, Swing, JavaFX & SWT 18
L JavaFX JavafX Timelime zeichnen und schön stylen? AWT, Swing, JavaFX & SWT 2
E LookAndFeel Eigene Komponenten mit Synth L&F stylen AWT, Swing, JavaFX & SWT 2
P JFrame stylen AWT, Swing, JavaFX & SWT 5
D Tabs von JTabbedPane stylen AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben