设置JavaFx ComboBox字体?

时间:2013-02-22 04:26:36

标签: fonts combobox javafx-2

我试图在JavaFx上更改ComboBox字体,所以我有:

  

ComboBox cbCategoria = new ComboBox();

我是javaFx的新手,所以一些示例代码会很棒:D, 没有CSS是一种方法吗?如果没有,我怎么能用CSS制作它,我还没有学会如何使用CSS样式:(

3 个答案:

答案 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 Sectionreference 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));
相关问题