Ich habe ein Problem bei der Größenänderung eines TableView, das Textelemente enthält, die sich um TableCell-Elemente wickeln. Beim Ändern der Größe werden verborgene Werte in der Größe geändert, aber die sichtbaren Elemente berechnen den Textumbruch nicht neu.JavaFX-TableColumn-Textumbruch
Die Tweets in der roten Box wurden während der Resize versteckt und hatten ihren Textumbruch wie erwartet eingestellt. Tweets oberhalb der Box waren während der Größenänderung sichtbar und haben immer noch die alte Verpackung.
Unten ist mein Code für die Größenänderungsphase.
fxSearchResultsTableTweet.setCellFactory(new Callback<TableColumn<Status, String>, TableCell<Status, String>>() {
@Override
public TableCell<Status, String> call(TableColumn<Status, String> arg0) {
return new TableCell<Status, String>() {
private Text text;
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (!isEmpty()) {
text = new Text(item.toString());
text.setWrappingWidth(fxSearchResultsTableTweet.getWidth());
this.setWrapText(true);
setGraphic(text);
}
}
};
}
});
}
Jede Hilfe würde sehr geschätzt werden.
Versuchen Sie 'text.wrappingWidthProperty(). Bind (widthProperty());'. Die 'widthProperty' ist die Breite der Zelle. Ich habe das schnell ausgeheckt und die Breite verhält sich richtig, obwohl die Höhe nicht stimmt. –
Das ist interessant, funktioniert auch für mich. Haben Sie eine Idee, wie Sie das Höhenproblem beheben können? – Steve
Nein. Es verhält sich tatsächlich sehr schlecht in Bezug auf die Auswahl. Wenn Sie eine Standard-TableCell verwenden und den Text an die Elementeigenschaft der Zelle binden (ich poste den Code), erscheint es besser, aber immer noch nicht perfekt. –