2013-02-22 73 views
1

我試着去改變一個ComboBox字體上了JavaFx,所以我有:設置JavaFx組合框字體?

ComboBox cbCategoria = new ComboBox();

林新在JavaFX這樣一些示例代碼將是巨大的:d, 一種方法可以做到這一點沒有CSS?如果不是我怎麼能使用CSS,我還沒有學習如何使用CSS樣式:(

回答

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

希望它可以幫助

+0

謝謝很多人xD你救了我^^它完美的作品:D – user1667217 2013-03-06 03:22:37

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

只是爲了暗示。 如果你想使用上述code.you應該嘗試這樣

styled.setPrefWidth(150); 
styled.setMinHeight(30); 

相反的設置組合框的大小,

styled.setPrefSize(150,30); 

如果設置這樣,你會得到例外。 我很困難。 希望它會有所幫助。