我的CSS填充色有TextField
,Label
。但是当我尝试Text
控件时,我还没弄清楚如何在CSS中设置填充颜色(我尝试了很多东西)。
Label label = new Label("Machine ID");
TextField textField = new TextField("1");
Text text = new Text("1");
的CSS:
.text-input {
-fx-text-fill: blue;
}
.label {
-fx-text-fill: blue;
}
答案 0 :(得分:6)
首先请注意,默认情况下Text
没有样式类。所以你需要添加样式类:
Text text = new Text("1");
text.getStyleClass().add("my-text");
然后,您可以使用从Shape
继承的-fx-fill
属性:
.my-text {
-fx-fill: blue ;
}
SSCCE:
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class TextCSSTest extends Application {
@Override
public void start(Stage primaryStage) {
VBox root = new VBox(10);
TextField textField = new TextField("Text Field");
Label label = new Label("Label");
Text text = new Text("Text");
text.getStyleClass().add("my-text");
root.getChildren().addAll(textField, label, text);
root.setAlignment(Pos.CENTER);
root.setPadding(new Insets(20));
Scene scene = new Scene(root);
scene.getStylesheets().add("text-css-test.css");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
文本CSS-test.css:
.my-text {
-fx-fill: blue ;
}
.label {
-fx-text-fill: green ;
}
.text-input {
-fx-text-fill: red ;
}
答案 1 :(得分:0)
根据JavaFX CSS reference,Text没有Label和TextField这样的属性。所以我不确定这是可能的。