如何在javafx中更改组合框项目的文本对齐方式?
我的应用程序中有一个组合框。我添加了一些项目作为字符串。项目已左对齐。我想要正确的路线。我找了很多,但什么也找不到。如何在javafx中更改组合框项目的文本对齐方式?,java,javafx,combobox,Java,Javafx,Combobox,我的应用程序中有一个组合框。我添加了一些项目作为字符串。项目已左对齐。我想要正确的路线。我找了很多,但什么也找不到。 谢谢。我想出了以下解决方案,尽管我不确定这是否是一个好的解决方案: 对于按钮单元: box.setButtonCell(new ListCell<String>() { @Override public void updateItem(String item, boolean empty) { super.updateItem(item
谢谢。我想出了以下解决方案,尽管我不确定这是否是一个好的解决方案: 对于按钮单元:
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));
}
}
};
}
});
我想出了以下解决方案,尽管我不确定这是否是一个好的解决方案: 对于按钮单元:
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));
}
}
};
}
});