我试图在 JavaFx 上更改 ComboBox 字体,所以我有:
ComboBox cbCategoria = new ComboBox();
我是 javaFx 的新手,所以一些示例代码会很棒 :D,没有 CSS 的方法吗?如果不是,我怎么能用 CSS 做,我还没有学会如何使用 CSS 样式:(
我认为没有CSS就没有办法做到这一点。您可以将样式分配给该组件,如下一个示例所示:
VBox vbox = new VBox(10);
vbox.setAlignment(Pos.CENTER_LEFT);
ComboBox<String> noStyled = new ComboBox<>();
noStyled.getItems().addAll("One", "Two", "Three");
ComboBox<String> styled = new ComboBox<>();
styled.setPrefWidth(150);
styled.getItems().addAll("One", "Two", "Three");
styled.setStyle("-fx-font: 30px \"Serif\";");
vbox.getChildren().addAll(noStyled, styled);
Scene scene = new Scene(vbox);
stage.setScene(scene);
stage.show();
或者,您可以将样式表分配给应用程序。在这两种情况下,我建议您阅读oracle 网站中的教程 CSS 部分和参考指南。
希望能帮助到你。
VBox vbox = new VBox(10);
vbox.setAlignment(Pos.CENTER_LEFT);
ComboBox<String> noStyled = new ComboBox<>();
noStyled.getItems().addAll("One", "Two", "Three");
ComboBox<String> styled = new ComboBox<>();
styled.setPrefWidth(150);
styled.getItems().addAll("One", "Two", "Three");
styled.setStyle("-fx-font: 30px \"Serif\";");
vbox.getChildren().addAll(noStyled, styled);
Scene scene = new Scene(vbox);
stage.setScene(scene);
stage.show();
仅供参考。如果你想使用上面的代码设置组合框的大小。你应该像这样尝试
styled.setPrefWidth(150);
styled.setMinHeight(30);
代替,
styled.setPrefSize(150,30);
如果你这样设置,你会得到异常。我在这方面遇到了困难。希望它会有所帮助。
// 我还没有学会如何使用 CSS 样式 :( //
--> 那你可以试试这个
ComboBox cbCategoria = new ComboBox();
cbCategoria.getEditor().setFont(Font.font("Verdana", FontWeight.EXTRA_BOLD, 14));