使用CSS
/** file: combo-size.css */
/** Size the combo-box button. */
.combo-box {
-fx-pref-width: 100;
}
/** Size the combo-box drop down list. */
.combo-box-popup > .list-view {
-fx-pref-width: 100;
}
注:我只对Java的8测试此示例,我相信-fx-*-width
和-fx-*-height
CSS属性可以为JavaFX 8是新的。
示例用法
在此示例中,无论是组合框按钮和下拉列表已经被尺寸设置成相同的优选宽度(100个像素)。
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.StackPane;
import javafx.scene.text.Font;
import javafx.stage.Stage;
public class SizedComboBoxSampleWithCss extends Application {
public static void main(String[] args) { launch(args); }
@Override public void start(Stage stage) {
final ComboBox<String> combo = new ComboBox<>();
combo.setValue(Font.getDefault().getFamily());
combo.getItems().setAll(Font.getFamilies());
combo.getStylesheets().add(
getClass().getResource(
"combo-size.css"
).toExternalForm()
);
StackPane layout = new StackPane(combo);
layout.setPadding(new Insets(10));
stage.setScene(new Scene(layout));
stage.show();
}
}
尝试过'prefWidth()'? – ItachiUchiha
是的,我已经尝试prefWidth()设置的组合框大小不是其下拉 – vinay
你有一个SSCCE - http://sscce.org为您的支持? – ItachiUchiha