我试图在JavaFx上更改ComboBox字体,所以我有:
ComboBox cbCategoria = new ComboBox();
我是javaFx的新手,所以一些示例代码会很棒:D, 没有CSS是一种方法吗?如果没有,我怎么能用CSS制作它,我还没有学会如何使用CSS样式:(
答案 0 :(得分:5)
我认为没有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网站上的tutorial CSS Section和reference guide。
希望它有所帮助。
答案 1 :(得分:2)
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);
如果你这样设置,你将获得例外。 我在这方面遇到了困难。 希望它会有所帮助。
答案 2 :(得分:0)
//我还没有学会如何使用CSS样式:( //
->然后您可以尝试
ComboBox cbCategoria = new ComboBox();
cbCategoria.getEditor().setFont(Font.font("Verdana", FontWeight.EXTRA_BOLD, 14));