Даже если решение Чао-Вен Чен кажется лучшим для вашего случая: (с использованием id ).Вы должны иметь в виду, что вы также можете использовать свой собственный класс стилей CSS.Вот пример, который будет более исчерпывающим:
public class CssApp extends Application {
@Override
public void start(Stage stage) throws Exception {
VBox vb = new VBox(10.0);
// Title
Label title = createTitle("Title");
// SubTitle 1
Label subtitle1 = createSubTitle("SubTitle1");
//Standard text
Label lorem = new Label("Lorem ipsum dolor sit amet, mea eu nibh sonet accusam, mea dicunt oblique et. Mei purto efficiantur ne, quas audiam consulatu at eum. Ea sit dicta zril, adipisci praesent pertinacia ei his.");
// SubTitle 2
Label subtitle2 = createSubTitle("SubTitle2");
//Standard text
Label ipsum = new Label("Amet dictas consequat ut vix, maluisset hendrerit vim ex, ne pro tale aliquid accusata. Mea porro aperiri voluptua te, case lorem per eu.");
Label specificText = new Label("I am a specific text with a particular styling.");
specificText.setId("specific");
vb.getChildren().addAll(title, subtitle1, lorem, subtitle2, ipsum, specificText);
Scene scene = new Scene(vb, 500.0, 400.0);
scene.getStylesheets().add(this.getClass().getResource("style.css").toExternalForm());
stage.setScene(scene);
stage.show();
}
private static Label createTitle(String pText) {
Label newLabel = new Label(pText);
newLabel.getStyleClass().add("label-title");
return newLabel;
}
private static Label createSubTitle(String pText) {
Label newLabel = new Label(pText);
newLabel.getStyleClass().add("label-subtitle");
return newLabel;
}
}
А вот таблица стилей CSS.Обратите внимание, что важен порядок вашего стилевого класса.
.label {
-fx-font-family: serif;
-fx-font-size: 12.0;
-fx-font-weight: normal;
-fx-text-fill: black;
}
.label-title {
-fx-font-family: sans-serif;
-fx-font-size: 50.0;
-fx-font-weight: bold;
-fx-text-fill: red;
}
.label-subtitle {
-fx-font-family: monospace;
-fx-font-size: 19.0;
-fx-font-style: oblique;
-fx-font-weight: normal;
-fx-text-fill: blue;
}
#specific {
-fx-text-fill: green;
}
Это касается примера такого типа (этот простой только для демонстрации):
В этом примере я использую только одну таблицу стилей, но для конкретной панели может быть применена другая таблица стилей (эта будет переопределять все родительские таблицы, если будет предоставлен один и тот же класс стиля).