JavaFX 样式:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html
// 默认会选择CSS文件中和节点默认样式列表相同名称的样式
// 可通过label.getStyleClass()查看默认样式名称
// CSS文件路径"XXX.css"为同级目录适用,整个模块下寻找可用:getClass().getResource("/X/XX/XXX/resource/css/" + "XXX.css").toExternalForm()
// 注意节点可以是自己,也可以是父节点,甚至是Scene
节点.getStylesheets().add(CSS文件路径);
// 当然可以自定义样式名称,如X,对应CSS文件中:.X{}
// add后为索引1,默认的样式为索引0,想add排到索引0,可以add(0, "X")
节点.getStyleClass().add("X");
节点从CSS中绑定样式后从代码中不能直接读到属性,样式名称元数据列表可以用getCssMetaData()查看。
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.Pane;
import javafx.stage.Stage;
public class CssTest extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
Label label = new Label("10000000");
label.getStylesheets().add("label.css");
Pane pane = new Pane();
pane.getStylesheets().add("label.css");
pane.getChildren().add(label);
Scene scene = new Scene(pane, 300, 300);
primaryStage.setScene(scene);
primaryStage.show();
}
}
label.css:
.myLabel {
-fx-background-color:black;
-fx-pref-height:130px;
}