首次单击组合框时,JavaFx Combobox下拉列表宽度减少

时间:2014-03-21 05:50:28

标签: java combobox javafx javafx-2

当我第一次点击ComboBox时,显示的弹出菜单列表的宽度非常短。第二次单击ComboBox并再次显示列表时,宽度现在是正确的,因为列表的宽度现在与Combbox对齐。

enter image description here

我试图在组合框上单击鼠标时更改下拉列表的宽度。但它没有用,

final ComboBox<String> combo = new ComboBox<String>();
combo.getStyleClass().add("combo-border");
combo.setMinWidth(100.0);
combo.setEditable(true);
combo.setOnMouseClicked(new EventHandler<MouseEvent>() {

    @Override
    public void handle(MouseEvent arg0) {
        combo.setMinWidth(100.0); // Did not work
        //csectCombo.setPrefWidth(100.0); // Did not work
    }
});

我正在使用Javafx 2.2。这有什么解决方法吗?

从下面的帖子中,它说这是JavaFx 2中的已知错误,并已在JavaFx 8中修复。

http://tech.chitgoks.com/2013/09/20/width-of-combobox-popup-list-is-too-small-in-java-fx-2/

1 个答案:

答案 0 :(得分:3)

试试这个

final ComboBox<String> combo = new ComboBox<String>();
combo.getStyleClass().add("combo-border");
combo.setMinWidth(100.0);
combo.setEditable(true);
combo.setPrefWidth(combo.getMinWidth());