【问题标题】:How to change text alignment of a combo box items in javafx?如何更改 javafx 中组合框项目的文本对齐方式?
【发布时间】:2016-11-24 07:03:01
【问题描述】:

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

【问题讨论】:

    标签: java javafx combobox


    【解决方案1】:

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


    对于纽扣电池:

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

    【讨论】:

      猜你喜欢
      • 2017-04-11
      • 1970-01-01
      • 2017-11-06
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2018-08-08
      • 2013-02-15
      相关资源
      最近更新 更多