4

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

ComboBox cbCategoria = new ComboBox();

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

4

3 回答 3

7

我认为没有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 部分和参考指南

希望能帮助到你。

于 2013-02-22T11:40:06.653 回答
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);

如果你这样设置,你会得到异常。我在这方面遇到了困难。希望它会有所帮助。

于 2013-11-26T09:57:38.853 回答
1

// 我还没有学会如何使用 CSS 样式 :( //

--> 那你可以试试这个

ComboBox cbCategoria = new ComboBox();
cbCategoria.getEditor().setFont(Font.font("Verdana", FontWeight.EXTRA_BOLD, 14));
于 2020-01-29T12:42:21.620 回答