Все, что вам нужно сделать, это переопределить ячейку по умолчанию, используя собственную ячейку, ширина которой равна ширине List
, а также позволяет переносить текст.Реализация основана на том факте, что Cell
s Labled
list.setCellFactory(param -> new ListCell<DataModel>(){
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (empty || item==null) {
setGraphic(null);
setText(null);
// other stuff to do...
}else{
// set the width's
setMinWidth(param.getWidth());
setMaxWidth(param.getWidth());
setPrefWidth(param.getWidth());
// allow wrapping
setWrapText(true);
setText(item.toString());
}
}
});