Странная ширина элементов управления в JavaFX 2?

Я новичок в JavaFX 2 и смущен шириной ComboBox и ListView по умолчанию. Я бы ожидал, что ComboBox будет шире, чтобы текст «текст подсказки» был полностью виден, для ListView я бы ожидал, что он будет меньше, только настолько широким, насколько это необходимо. Код и скриншот ниже.

1) Как мне добиться, чтобы ComboBox и Listview имели размер необходимой ширины?

2) Как сделать так, чтобы оба элемента управления имели одинаковую ширину (следовательно, максимальную из обеих ширин), можно ли создать какую-то связь между ширинами обоих? Я особенно ищу элегантное решение для FXML.

Спасибо за любую подсказку!

@Override
public void start(Stage primaryStage) {
    ComboBox<String> comboBox = new ComboBox<String>();
    comboBox.setPromptText("the prompt text");
    ObservableList<String> items = FXCollections.observableArrayList();
    items.addAll("item 1", "item 2");
    comboBox.setItems(items);

    ListView<String> list = new ListView<String>();
    ObservableList<String> items2 =FXCollections.observableArrayList (
        "blue", "red");
    list.setItems(items2);

    VBox vBox = new VBox();
    vBox.getChildren().addAll(comboBox, list);

    primaryStage.setScene(new Scene(vBox, 200, 300));
    primaryStage.show();
}

enter image description here

5
задан stefan.at.wpf 7 May 2012 в 19:59
поделиться