4

JavaFxでComboBoxフォントを変更しようとしているので、次のようになります。

ComboBox cbCategoria = new ComboBox();

javaFxの新機能なので、いくつかのサンプルコードは素晴らしいでしょう:D、CSSなしでそれを行う方法はありますか?そして、そうでない場合、CSSでそれをどのように作ることができますか、私はまだCSSスタイリングの使い方を学びませんでした:(

4

3 に答える 3

7

I think there is no way to do it without CSS. You can assign the style to that component as in the next sample:

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();

Or you can assign a stylesheet to an application. In both cases I recommend you to go through the tutorial CSS Section in the oracle web site and the reference guide.

Hope it helps.

于 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 Styling の使い方をまだ学んでいない :( //

--> 次に、これを試すことができます

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