fix(avatar): changement de ChatController::handleAvatarChange, image lue directement.

This commit is contained in:
Emi Boucly 2025-01-28 09:42:45 +01:00
parent 30986fa8e5
commit e9e76f08f2
3 changed files with 19 additions and 14 deletions

View file

@ -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());
}

View file

@ -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");

View file

@ -39,7 +39,7 @@ public class ChatServer {
public static void main(String[] args) throws IOException {
ChatServer server = new ChatServer(2024);
daisyConnect();
//daisyConnect();
server.acceptClients();
}