如何更改javafx中组合框项目的文本对齐方式?

时间:2016-07-20 21:53:08

标签: java javafx combobox

我的应用中有一个组合框。我添加了一些项目作为字符串。物品已经对齐。我想要正确的对齐方式。我搜索了很多,但我找不到任何东西。 感谢。

1 个答案:

答案 0 :(得分:5)

我想出了以下解决方案,虽然我不确定它是否是一个好的解决方案:

enter image description here

对于纽扣电池:

box.setButtonCell(new ListCell<String>() {
    @Override
    public void updateItem(String item, boolean empty) {
        super.updateItem(item, empty);
        if (item != null) {
            setText(item);
            setAlignment(Pos.CENTER_RIGHT);
            Insets old = getPadding();
            setPadding(new Insets(old.getTop(), 0, old.getBottom(), 0));
        }
    }
});

对于弹出列表视图:

box.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
    @Override
    public ListCell<String> call(ListView<String> list) {
        return new ListCell<String>() {
            @Override
            public void updateItem(String item, boolean empty) {
                super.updateItem(item, empty);
                if (item != null) {
                    setText(item);
                    setAlignment(Pos.CENTER_RIGHT);
                    setPadding(new Insets(3, 3, 3, 0));
                }
            }
        };
    }
});