Wrapping data into ObservableList instances instead of copying it
This commit is contained in:
		| @@ -95,7 +95,7 @@ public final class ChatSceneController { | ||||
| 		this.writeProxy	= writeProxy; | ||||
|  | ||||
| 		// TODO: handle offline mode | ||||
| 		userList.getItems().addAll(client.getContacts().getContacts()); | ||||
| 		userList.setItems(FXCollections.observableList(client.getContacts().getContacts())); | ||||
| 		// userList.getItems().addAll(localDB.getChats().stream().map(Chat::getRecipient).collect(Collectors.toList())); | ||||
| 	} | ||||
|  | ||||
| @@ -105,12 +105,6 @@ public final class ChatSceneController { | ||||
| 		if (user != null && (currentChat == null || user.getID() != currentChat.getRecipient().getID())) { | ||||
| 			contactLabel.setText(user.getName()); | ||||
|  | ||||
| 			// Swap observable list | ||||
| 			if (currentChat != null) { | ||||
| 				currentChat.getMessages().clear(); | ||||
| 				currentChat.getMessages().addAll(messageList.getItems()); | ||||
| 			} | ||||
|  | ||||
| 			// LEON: JFC <===> JAVA FRIED CHICKEN <=/=> Java Foundation Classes | ||||
|  | ||||
| 			// Load the chat or create a new one and add it to the LocalDB | ||||
| @@ -119,7 +113,8 @@ public final class ChatSceneController { | ||||
| 				.filter(c -> c.getRecipient().getID() == user.getID()) | ||||
| 				.findAny() | ||||
| 				.orElseGet(() -> { var chat = new Chat(user); localDB.getChats().add(chat); return chat; }); | ||||
| 			messageList.setItems(FXCollections.observableArrayList(currentChat.getMessages())); | ||||
|  | ||||
| 			messageList.setItems(FXCollections.observableList(currentChat.getMessages())); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
|   | ||||
| @@ -16,6 +16,7 @@ module envoy { | ||||
| 	requires transitive java.prefs; | ||||
| 	requires javafx.controls; | ||||
| 	requires javafx.fxml; | ||||
| 	requires javafx.base; | ||||
|  | ||||
| 	opens envoy.client.ui to javafx.graphics, javafx.fxml; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user