deleted ClientListView initialization artefacts
This commit is contained in:
parent
7ecb910c83
commit
beeed8f2fd
@ -156,82 +156,6 @@ public class LoungeSceneViewController implements Initializable {
|
|||||||
bgAnimationView.setFitHeight(1950);
|
bgAnimationView.setFitHeight(1950);
|
||||||
bgAnimationView.setFitWidth(6667.968);
|
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);
|
LobbyListView.setItems(lobbies);
|
||||||
LOGGER.debug("In Initialize 2 LobbyListView" + LobbyListView);
|
LOGGER.debug("In Initialize 2 LobbyListView" + LobbyListView);
|
||||||
LobbyListView.setCellFactory(param -> {
|
LobbyListView.setCellFactory(param -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user