From 1d9251c7bc48818a78db12a418d99e7c85be7166 Mon Sep 17 00:00:00 2001 From: NonoL3Robot Date: Tue, 7 Dec 2021 12:20:51 +0100 Subject: [PATCH] Edit des boutons JFileChooser et gestion erreur lors de la fermeture d'un fichier --- src/lecteur_pdf/menu/Menu.java | 16 ++++++---------- src/lecteur_pdf/menu/SelectionnerFichier.java | 18 +++++++++++++++--- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/src/lecteur_pdf/menu/Menu.java b/src/lecteur_pdf/menu/Menu.java index ea356dc..9db2d3e 100644 --- a/src/lecteur_pdf/menu/Menu.java +++ b/src/lecteur_pdf/menu/Menu.java @@ -189,7 +189,9 @@ public class Menu extends JMenuBar { switch (choice) { case "Ouvrir" -> { File fichier = SelectionnerFichier.ouvrirFichier(); - fenetre.chargerPDF(fichier); + if (fichier != null) { + fenetre.chargerPDF(fichier); + } } case "Fermer" -> { fenetre.dechargerPDF(); @@ -198,15 +200,9 @@ public class Menu extends JMenuBar { } case "Quitter" -> System.exit( 0); - case "Zoom +" -> { - fenetre.rechargerPDF(2.0f); - } - case "Zoom 0" -> { - fenetre.rechargerPDF(1.0f); - } - case "Zoom -" -> { - fenetre.rechargerPDF(0.5f); - } + case "Zoom +" -> fenetre.rechargerPDF(2.0f); + case "Zoom 0" -> fenetre.rechargerPDF(1.0f); + case "Zoom -" -> fenetre.rechargerPDF(0.5f); } } diff --git a/src/lecteur_pdf/menu/SelectionnerFichier.java b/src/lecteur_pdf/menu/SelectionnerFichier.java index e677301..f7ec931 100644 --- a/src/lecteur_pdf/menu/SelectionnerFichier.java +++ b/src/lecteur_pdf/menu/SelectionnerFichier.java @@ -33,6 +33,10 @@ public class SelectionnerFichier { final String TITRE = "Sélectionnez un PDF"; final String DESCRIPTION = "PDF files (*.pdf)"; final String EXTENSION = "pdf"; + final String BOUTON_OK = "Ouvrir"; + final String INDICE_BOUTON_OK = "Ouvre le fichier sélectionné"; + final String BOUTON_ANNULER = "Annuler"; + final String INDICE_BOUTON_ANNULER = "Annule la sélection"; /* Crée une fenêtre de sélection de fichier */ JFileChooser fileChooser = new JFileChooser( @@ -41,6 +45,12 @@ public class SelectionnerFichier { fileChooser.setMultiSelectionEnabled(false); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); fileChooser.setAcceptAllFileFilterUsed(false); + fileChooser.setApproveButtonText(BOUTON_OK); + fileChooser.setApproveButtonToolTipText(INDICE_BOUTON_OK); + UIManager.put("FileChooser.cancelButtonText", BOUTON_ANNULER); + UIManager.put("FileChooser.cancelButtonToolTipText", + INDICE_BOUTON_ANNULER); + SwingUtilities.updateComponentTreeUI(fileChooser); /* Filtre uniquement les fichiers PDF */ FileNameExtensionFilter filter = new FileNameExtensionFilter( @@ -50,8 +60,10 @@ public class SelectionnerFichier { int returnValue = fileChooser.showOpenDialog(null); - return returnValue == 0 - ? new File(fileChooser.getSelectedFile().getAbsolutePath()) - : null; + if (returnValue == JFileChooser.APPROVE_OPTION) { + return new File(fileChooser.getSelectedFile().getAbsolutePath()); + } + + return null; } }