deleted ClientListView initialization artefacts

This commit is contained in:
Sebastian Lenzlinger 2022-05-13 12:50:11 +02:00
parent 7ecb910c83
commit beeed8f2fd

View File

@ -156,82 +156,6 @@ public class LoungeSceneViewController implements Initializable {
bgAnimationView.setFitHeight(1950);
bgAnimationView.setFitWidth(6667.968);
ClientListView.setItems(clients);
ClientListView.setCellFactory(param -> {
ListCell<ClientListItem> cell = new ListCell<>() {
Label name = new Label();
Label id = new Label();
HBox nameAndId = new HBox(name, id);
{
nameAndId.setAlignment(Pos.CENTER_LEFT);
}
/**
* The updateItem method should not be called by developers, but it is the
* best method for developers to override to allow for them to customise the
* visuals of the cell. To clarify, developers should never call this method
* in their code (they should leave it up to the UI control, such as the
* {@link ListView} control) to call this method. However, the purpose of
* having the updateItem method is so that developers, when specifying
* custom cell factories (again, like the ListView {@link
* ListView#cellFactoryProperty() cell factory}), the updateItem method can
* be overridden to allow for complete customisation of the cell.
*
* <p>It is <strong>very important</strong> that subclasses
* of Cell override the updateItem method properly, as failure to do so will
* lead to issues such as blank cells or cells with unexpected content
* appearing within them. Here is an example of how to properly override the
* updateItem method:
*
* <pre>
* protected void updateItem(T item, boolean empty) {
* super.updateItem(item, empty);
*
* if (empty || item == null) {
* setText(null);
* setGraphic(null);
* } else {
* setText(item.toString());
* }
* }
* </pre>
*
* <p>Note in this code sample two important points:
* <ol>
* <li>We call the super.updateItem(T, boolean) method. If this is not
* done, the item and empty properties are not correctly set, and you are
* likely to end up with graphical issues.</li>
* <li>We test for the <code>empty</code> condition, and if true, we
* set the text and graphic properties to null. If we do not do this,
* it is almost guaranteed that end users will see graphical artifacts
* in cells unexpectedly.</li>
* </ol>
* @param item The new item for the cell.
*
* @param empty whether or not this cell represents data from the list. If
* it is empty, then it does not represent any domain data, but
* is a cell
*/
@Override
protected void updateItem(ClientListItem item, boolean empty) {
super.updateItem(item, empty);
if (empty) {
setText(null);
setGraphic(null);
} else {
LOGGER.debug("In updateItem(item, empty) Method. Else branch -> nonnull item");
name.setText(item.getName());
name.setTextFill(Color.BLACK);
id.setText(String.valueOf(item.getId()));
id.setTextFill(Color.BLACK);
setGraphic(nameAndId);
}
}
};
return cell;
});
LobbyListView.setItems(lobbies);
LOGGER.debug("In Initialize 2 LobbyListView" + LobbyListView);
LobbyListView.setCellFactory(param -> {