From e9e76f08f2f983063ab32d55138984f8371f6bfe Mon Sep 17 00:00:00 2001 From: Emi Boucly Date: Tue, 28 Jan 2025 09:42:45 +0100 Subject: [PATCH] fix(avatar): changement de ChatController::handleAvatarChange, image lue directement. --- .../main/java/rtgre/chat/ChatController.java | 30 +++++++++++-------- chat/src/main/java/rtgre/modeles/Contact.java | 1 + .../main/java/rtgre/server/ChatServer.java | 2 +- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/chat/src/main/java/rtgre/chat/ChatController.java b/chat/src/main/java/rtgre/chat/ChatController.java index 2c37ae1..1b5ee81 100644 --- a/chat/src/main/java/rtgre/chat/ChatController.java +++ b/chat/src/main/java/rtgre/chat/ChatController.java @@ -156,16 +156,20 @@ public class ChatController implements Initializable { /** * Ouvre une fenĂȘtre de dialogue permettant de choisir son avatar */ - FileChooser fileChooser = new FileChooser(); - Stage stage = (Stage) avatarImageView.getScene().getWindow(); - fileChooser.setTitle("Select Avatar"); - fileChooser.getExtensionFilters().addAll( - new FileChooser.ExtensionFilter("Image Files", "*.png", "*.jpg") - ); - File selectedFile = fileChooser.showOpenDialog(stage); - if (selectedFile != null) { - avatarImageView.setImage(new Image(selectedFile.toURI().toString())); - contact.setAvatarFromFile(selectedFile); + try { + FileChooser fileChooser = new FileChooser(); + Stage stage = (Stage) avatarImageView.getScene().getWindow(); + fileChooser.setTitle("Select Avatar"); + fileChooser.getExtensionFilters().addAll( + new FileChooser.ExtensionFilter("Image Files", "*.png", "*.jpg") + ); + File selectedFile = fileChooser.showOpenDialog(stage); + if (selectedFile != null) { + avatarImageView.setImage(new Image(selectedFile.toURI().toString())); + contact.setAvatar(ImageIO.read(selectedFile)); + } + } catch (IOException e) { + LOGGER.warning("Impossible de lire l'image!"); } client.sendEvent(new rtgre.modeles.Event("CONT", this.contact.toJsonObject())); } @@ -256,9 +260,9 @@ public class ChatController implements Initializable { contactsListView.setCellFactory(contactListView -> new ContactListViewCell()); contactsListView.setItems(contactObservableList); File avatars = new File(getClass().getResource("avatars.png").toURI()); - Contact fifi = new Contact("fifi", true, avatars); - contactObservableList.add(fifi); - contactMap.add(fifi); + //Contact fifi = new Contact("fifi", true, avatars); + //contactObservableList.add(fifi); + //contactMap.add(fifi); } catch (Exception e) { LOGGER.severe(e.getMessage()); } diff --git a/chat/src/main/java/rtgre/modeles/Contact.java b/chat/src/main/java/rtgre/modeles/Contact.java index fbbc3f2..063de9f 100644 --- a/chat/src/main/java/rtgre/modeles/Contact.java +++ b/chat/src/main/java/rtgre/modeles/Contact.java @@ -157,6 +157,7 @@ public class Contact { ByteArrayOutputStream bos = new ByteArrayOutputStream(); try { ImageIO.write(img, "png", bos); + System.out.println(Base64.getEncoder().encodeToString(bos.toByteArray())); return Base64.getEncoder().encodeToString(bos.toByteArray()); } catch (IOException e) { LOGGER.severe("Impossible de convertir l'image en base64"); diff --git a/chat/src/main/java/rtgre/server/ChatServer.java b/chat/src/main/java/rtgre/server/ChatServer.java index 83b104f..046399a 100644 --- a/chat/src/main/java/rtgre/server/ChatServer.java +++ b/chat/src/main/java/rtgre/server/ChatServer.java @@ -39,7 +39,7 @@ public class ChatServer { public static void main(String[] args) throws IOException { ChatServer server = new ChatServer(2024); - daisyConnect(); + //daisyConnect(); server.acceptClients(); }