JavaFX CSS: Label in GridPane rechts ausrichten

godi

Aktives Mitglied
Hallo!

Ich habe ein Label das ich einen Identifier zugewiesen habe.
Alle Labels mit diesem Identifier sollen mittels css im GridPane rechts ausgerichtet werden.

In reinem Java funktioniert es so:
Java:
GridPane.setHalignment(label, HPos.RIGHT);

In css habe ich es schon so versucht:
Code:
#myIdentifier {       
    -fx-text-alignment: right; 
    -fx-alignment: center-right ;
    -fx-halignment: right ;
}

So funktionierts aber leider nicht.

Wie bekomme ich dies hin, dass das Label im GridPane rechts ausgerichtet wird?

godi
 
N

nillehammer

Gast
1. Identifier sollen -wie der Name schon sagt- etwas identifizieren. Das bedingt, dass sie eindeutig sind. Sprich jede id darf Seitenweit nur einmal vorkommen. Darum ist ein CSS-Selektor über den Identifier zwar gangbar aber doch ungewöhnlich. Wenn FX es unterstützt, steige lieber auf CSS-Klassen um.
2. Das Alignment wird vom Container festgelegt. Du musst also die eigenschaft für das Element setzen, welches die Labels beinhaltet. Im Java-Code hast Du die enstprechende Methode ja auch auf GridPane (dem Container) aufgerufen und nicht auf Label. Mit letzerem hättest Du wahrscheinlich dafür gesorgt, dass der Text, den das Label anzeigt, rechtsbündig ist.
 

godi

Aktives Mitglied
Hallo,

ok also css Klassen sollten möglich sein:
Java:
label.getStyleClass().add("labelStyleClass");

Dann kann ich im css schreiben:
Code:
.labelStyleClass { ... }

Also ist es besser jedem Element dem ich das selbe Aussehen geben möchte eine Klasse zu erstellen und diese dann den Elementen mitzuteilen?

zu 2)
Wie kann ich dann dem Container in css mitteilen, dass er nur die Elemente mit der StyleClass "labelStyleClass" Rechtsbündig darstellen soll?
 
N

nillehammer

Gast
Also ist es besser jedem Element dem ich das selbe Aussehen geben möchte eine Klasse zu erstellen und diese dann den Elementen mitzuteilen?
Ein ganz klares JA!
zu 2)
Wie kann ich dann dem Container in css mitteilen, dass er nur die Elemente mit der StyleClass "labelStyleClass" Rechtsbündig darstellen soll?
Garnicht es geht immer nur für alle. (Das ist jedenfalls für CSS und "normale" HTML-Seiten, bzw. das, was der Browser draus macht, so. Eventuelle Besonderheiten von FX sind mir nicht bekannt.)
 

godi

Aktives Mitglied
Ein ganz klares JA!

Garnicht es geht immer nur für alle. (Das ist jedenfalls für CSS und "normale" HTML-Seiten, bzw. das, was der Browser draus macht, so. Eventuelle Besonderheiten von FX sind mir nicht bekannt.)

Na gut dann muss ich wohl meinen Java und CSS Code nochmal ändern und die Ausrichtung direkt in Java umsetzen.

Aber vielen Dank für die Info mit den Klassen! :)
Ich habe mich vorher eh schon gefragt für was ich das brauche. ;)
 
N

nillehammer

Gast
Wenn Du etwas mehr schreibst, was Du da layouten willst, könnte man vielleicht Alternativen nennen.
 

godi

Aktives Mitglied
Im Anhang habe ich mal ein Test Programm angehängt mit dem CSS File (endet mit .txt damit es hochgeladen werden kann).
Es soll das Label links vom TextField rechtsbündig sein.

Leider ist jetzt auch ein Problem mit den css Klassen aufgetaucht.

Ich habe eine Klasse für den Container (.dialogContainer), eine Klasse für Überschriften (.title) und die vordefinierte Klasse für Label (.label).

Alle Label die im dialogContainer sind sollen einen weißen Text haben.
Die Überschriften sollen eine andere Farbe bekommen. Leider funktioniert das mit den Klassen jetzt nicht mehr. Irgendwie bekommen die Überschriften auch die weiße Farbe.
Also
Code:
.dialogContainer .title { ... }
wird von
Code:
.dialogContainer .label{ ... }
überschrieben.

Wie kann man das jetzt umsetzen sodass die Überschriften (in JavaFX vom Type Label) die Klasse .title und alle anderen Labels die Klasse .label verwenden?
 

Anhänge

  • TestCSS.java
    5,1 KB · Aufrufe: 16
  • TestCSS.css.txt
    6,2 KB · Aufrufe: 8
N

nillehammer

Gast
Bin Dein Programm und die CSS-Datei durchgegangen. Das sieht soweit recht ordentlich aus. Ich konnte jedenfalls keinen Fehler finden.

Habe mir dann mal angeschaut, wie JavaFX mit CSS umgeht. Wenn du auch mal hier schaust: JavaFX CSS Reference Guide, Limitations, dann siehst Du, dass einige viel genutzte Sachen nicht oder leicht anders funktionieren. U.a. auch die Selektion über CSS-Klassen. Dazu aus dem Reference Guide: "Using a class selector as a descendant selector (using whitespace as the combinator) does not work. Instead, insert a * prior to the class selector. For example, instead of ".a .b { ... }" use ".a *.b { ... }""

Das dürfte Dein Problem erklären.
 

godi

Aktives Mitglied
Vielen Dank nochmals!

Jetzt habe ich in dem css File die "Style-Beschreibung" für das normale label vor die "Style-Beschreibung" für den Titel bzw Subtitel gesetzt. So funktioniert es.

Den *-Operator habe ich auch getestet.
Leider bin ich mir jetzt nicht sicher für was der gut sein soll, da es ohne und mit funktioniert.

Desweiteren habe ich auch noch den > Operator vor einem Klassennamen gefunden. Wenn der vor das Label gesetzt wird dann wird die Spaltenschrift der TableView nicht gleich gefärbt wie die Labelschrift.
Aber darauf bin ich auch nur durch Probieren gekommen. Was der jetzt wirklich macht bleibt mir verborgen. ;)
 
N

nillehammer

Gast
Desweiteren habe ich auch noch den > Operator vor einem Klassennamen gefunden. Wenn der vor das Label gesetzt wird dann wird die Spaltenschrift der TableView nicht gleich gefärbt wie die Labelschrift.
Aber darauf bin ich auch nur durch Probieren gekommen. Was der jetzt wirklich macht bleibt mir verborgen.
Code:
>
heißt: "Nur direkte Nachfahren". Beispiel:
Code:
.datentabelle>.datenzeile
Das heißt: Wende die Styles nur auf Elemente der Klasse datenzeile an, wenn diese direkte Nachfahren eines Elements der klasse datentabelle sind:
HTML:
<div class="datentabelle">
  <!--Direkter Nachfahre (Kind), wird selektiert -->
  <div class="datenzeile">...</div>
  <div>
    <!-- Kein direkter Nachfahre (hier ein Enkel), wird nicht selektiert) -->
    <div class="datenzeile">...</div>
  </div>
</div>
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H JavaFX Label.Text mit bind an DoubleProperty binden AWT, Swing, JavaFX & SWT 3
izoards Ausdruck auf Label Drucker AWT, Swing, JavaFX & SWT 1
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
H RPG Programmieren, label.setLocation funktioniert nicht AWT, Swing, JavaFX & SWT 7
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
N Label Schriftart Ändern javafx AWT, Swing, JavaFX & SWT 2
D JavaFX Label flackert beim aktualisieren AWT, Swing, JavaFX & SWT 12
J JavaFX Label aktualisieren AWT, Swing, JavaFX & SWT 18
M JavaFX javaFX Label-Text wird nicht gesetzt AWT, Swing, JavaFX & SWT 3
T Anderen Java Code durch Code kompilieren und Fehler in Label ausgeben AWT, Swing, JavaFX & SWT 5
I BoxLayout zentriert Label nicht AWT, Swing, JavaFX & SWT 7
B Ausgaben einer Umrechnung vom Textfeld in ein Label AWT, Swing, JavaFX & SWT 2
R JavaFX Label oder Imageview anzeigen mit Buttonklick AWT, Swing, JavaFX & SWT 4
L Label im JavaFX Thread Updaten AWT, Swing, JavaFX & SWT 3
A Inhalt wechseln bei Klick auf Label AWT, Swing, JavaFX & SWT 8
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
Trèfle JavaFX Formattierung im Label AWT, Swing, JavaFX & SWT 3
ralfb1105 JavaFX Wie Text Label in neuem Window von Main Stage setzen? AWT, Swing, JavaFX & SWT 6
F Countdown in Label anzeigen AWT, Swing, JavaFX & SWT 14
H JavaFX - Label aktualisieren AWT, Swing, JavaFX & SWT 1
J Dateiname im Label einblenden AWT, Swing, JavaFX & SWT 4
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
T Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
zhermann NullPointerException bei Label.setText() AWT, Swing, JavaFX & SWT 5
T JavaFX Label mit mehreren Images AWT, Swing, JavaFX & SWT 11
Kanda Sorata Inhalt einer .txt Datei einlesen und in ein Label einfügen (JavaFX) AWT, Swing, JavaFX & SWT 2
L JavaFX ContextMenu bei Label mit Linksklick AWT, Swing, JavaFX & SWT 4
J JavaFX - Felder (Label) in einer ForSchleife bearbeiten AWT, Swing, JavaFX & SWT 4
N Anordnung der Label AWT, Swing, JavaFX & SWT 3
N Swing Label auf Panel legen.. AWT, Swing, JavaFX & SWT 2
D JavaFX Label lässt sich nicht mehrmals färben AWT, Swing, JavaFX & SWT 7
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
U Java FX Zusätzliches Label per Knopfdruck während der Laufzeit auf Panel einfügen. AWT, Swing, JavaFX & SWT 2
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
D Swing JFreeChart Crosshair Label - setPreferredSize oder ähnliches, aber wo ? AWT, Swing, JavaFX & SWT 1
T CSS Rechtsbüdniges Label mit Zwei Zeilen AWT, Swing, JavaFX & SWT 7
J JavaFX Translation Text/Label AWT, Swing, JavaFX & SWT 2
Tom299 JavaFX Text oder Label benutzen AWT, Swing, JavaFX & SWT 4
C Textfeld und Label werden nicht angezeigt (Ubuntu) AWT, Swing, JavaFX & SWT 2
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
Augenblau JavaFX Wechselnde Werte in Label darstellen AWT, Swing, JavaFX & SWT 7
V Swing Brauche Hilfe mit Label AWT, Swing, JavaFX & SWT 3
S JButton-Label vergrößern AWT, Swing, JavaFX & SWT 2
D Java Swing, Label lässt sich nicht mit Checkboxen/Knopf verändern AWT, Swing, JavaFX & SWT 2
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
B Swing JXMapKit Mausemove in Label anzeigen AWT, Swing, JavaFX & SWT 0
K Bild in Label wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
S JButton u. Label auf paint-Methode AWT, Swing, JavaFX & SWT 1
G Label wird nicht erstellt AWT, Swing, JavaFX & SWT 0
7 AWT problem: KeyListener/ test im Label umändern AWT, Swing, JavaFX & SWT 4
W JavaFX Label in Controller-Klasse in einer anderen Controller-Klasse ändern AWT, Swing, JavaFX & SWT 9
D Swing [Frage] ComboBox + Label AWT, Swing, JavaFX & SWT 3
G Label erstellen AWT, Swing, JavaFX & SWT 6
U Label zeigt nicht überall HTML Zeichen AWT, Swing, JavaFX & SWT 3
F JavaFX label.getWidth() AWT, Swing, JavaFX & SWT 2
T Swing Label aus anderer Methode bearbeiten AWT, Swing, JavaFX & SWT 2
N Input/Output Stream werte in Label anzeigen. AWT, Swing, JavaFX & SWT 6
R JavaFX Label ändern in aufgerufener AnchorPane AWT, Swing, JavaFX & SWT 3
B Swing label.setText() macht probleme AWT, Swing, JavaFX & SWT 5
T Swing Aktuelle Größe eines Textes in einem Label darstellen AWT, Swing, JavaFX & SWT 3
KrokoDiehl Swing Buchstaben im Label anders färben AWT, Swing, JavaFX & SWT 4
K Zugriff auf Label und Ereignisbehandlung durch zwei Handlerklassen AWT, Swing, JavaFX & SWT 3
P Label rotieren mit Timer AWT, Swing, JavaFX & SWT 5
C Label wird nicht an der richtigen Position angezeigt.. AWT, Swing, JavaFX & SWT 7
H Label mit Icon positionieren AWT, Swing, JavaFX & SWT 14
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
J resize - Label bleibt erst schwarz AWT, Swing, JavaFX & SWT 4
T label überschriebt seine werte-SWT AWT, Swing, JavaFX & SWT 3
O Swing JTree um Label (oder Panel) erweitern AWT, Swing, JavaFX & SWT 9
D Label über JScrollPane AWT, Swing, JavaFX & SWT 3
N Label auf Hauptfenster manipulieren AWT, Swing, JavaFX & SWT 2
S VAADIN: Problem mit Label AWT, Swing, JavaFX & SWT 18
P Ausgabe Label AWT, Swing, JavaFX & SWT 6
GUI-Programmer Informations-Panel an Label AWT, Swing, JavaFX & SWT 2
S ImageIcon von Label entfernen AWT, Swing, JavaFX & SWT 9
B Label breite ermitteln vor dem rendern? AWT, Swing, JavaFX & SWT 7
A Bekomme das Label nicht in die Mitte von Reihe AWT, Swing, JavaFX & SWT 7
H SWT Markierbares Label AWT, Swing, JavaFX & SWT 8
A Swing Box Label ausrichten AWT, Swing, JavaFX & SWT 3
R Label in den Vordergrund einblenden AWT, Swing, JavaFX & SWT 5
J Hintergrund Label-Frame AWT, Swing, JavaFX & SWT 3
O Swing Label(bzw. Grafik) verdekt von anderm Label AWT, Swing, JavaFX & SWT 2
A TextField und Label AWT, Swing, JavaFX & SWT 8
L Label dynamisch awt AWT, Swing, JavaFX & SWT 2
J Label mit transparentem hintergrund - geht das? AWT, Swing, JavaFX & SWT 21
B Die Werte von getLocation() im Label anzeigen AWT, Swing, JavaFX & SWT 4
Avalarion SWT Listener auf Label oder Text Teile AWT, Swing, JavaFX & SWT 10
C Label Hintergrundbild mit Text AWT, Swing, JavaFX & SWT 6
A SWT - Farbe von Text auf Label ändern AWT, Swing, JavaFX & SWT 2
M gridbaglayout - abstand bei label und field AWT, Swing, JavaFX & SWT 8
hdi SWT Label Text vertikal zentrieren AWT, Swing, JavaFX & SWT 6
T In einem Label scrollen AWT, Swing, JavaFX & SWT 3
Spot84 swt label zeilenumbruch will nicht funktionieren AWT, Swing, JavaFX & SWT 1
L JFreeChar Label für StackedBar AWT, Swing, JavaFX & SWT 3
lumo SWT Label - onResize? AWT, Swing, JavaFX & SWT 5
DasDogma AWT Problem bei Wertzuweisung für Label AWT, Swing, JavaFX & SWT 3
A Label hat falsche Position AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben