From b951de846da6222dce09dbfb11d3aa0265b7bfc8 Mon Sep 17 00:00:00 2001 From: NonoL3Robot Date: Sat, 12 Mar 2022 20:06:26 +0100 Subject: [PATCH] javadoc --- src/lecteur_pdf/Fenetre.java | 40 +++++--- src/lecteur_pdf/GestionFenetre.java | 38 +++++--- src/lecteur_pdf/GestionMode.java | 93 ++++++++++++++----- src/lecteur_pdf/Popup.java | 38 +++++--- src/lecteur_pdf/SelectionnerFichier.java | 55 ++++++++--- .../menuBar/menuItems/FermerFichier.java | 4 - 6 files changed, 188 insertions(+), 80 deletions(-) diff --git a/src/lecteur_pdf/Fenetre.java b/src/lecteur_pdf/Fenetre.java index 585545d..e1eeca4 100644 --- a/src/lecteur_pdf/Fenetre.java +++ b/src/lecteur_pdf/Fenetre.java @@ -16,12 +16,14 @@ import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** - * Classe définissant une fenêtre qui peut contenir un document PDF + * Classe définissant une {@link Fenetre fenêtre} qui peut contenir un + * document PDF * * @author Léo Franch * @author Tristan Nogaret * @author Lucàs Vabre * @author Noé Villeneuve + * @see JFrame */ public class Fenetre extends JFrame { @@ -31,23 +33,28 @@ public class Fenetre extends JFrame { public static final String TITRE = "LPDA"; /** - * Le Panel contenant le document PDF + * Le {@link PdfPanel panel} contenant le document PDF */ private final PdfPanel pdfPanel; /* Relatif au FullScreen */ + /** - * Booléen qui définit si la fenêtre est en mode plein écran ou non + * Booléen qui définit si la {@link Fenetre fenêtre} est en mode + * {@link lecteur_pdf.menuBar.menuItems.PleinEcran plein écran} ou non */ private boolean fullscreen = false; /** - * Composant Graphique permettant la mise en place du plein écran + * Composant graphique permettant la mise en place du + * {@link lecteur_pdf.menuBar.menuItems.PleinEcran plein écran} + * + * @see GraphicsDevice */ private GraphicsDevice device; /** - * Créé une nouvelle fenêtre vide + * Créé une nouvelle {@link Fenetre fenêtre} vide */ public Fenetre() { super(TITRE); @@ -63,7 +70,7 @@ public class Fenetre extends JFrame { setJMenuBar(new MenuBar(this)); // Ajoute la barre des menus /* Action à la fermeture de la fenêtre */ - this.addWindowListener(new WindowAdapter(){ + this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent et) { quitter(); @@ -82,20 +89,24 @@ public class Fenetre extends JFrame { } /** - * @return Le Panel contenant le document PDF + * @return Le {@link PdfPanel panel} contenant le document PDF */ public PdfPanel getPdfPanel() { return pdfPanel; } /** - * Si fullscreen est égal à false -> Désactive le mode Plein Écran - * Sinon Active le mode Plein Écran + * Si fullscreen est égal à false -> + * */ public void pleinEcran() { if (!fullscreen) { // Active le Plein Écran - GraphicsEnvironment graphics = GraphicsEnvironment.getLocalGraphicsEnvironment(); + GraphicsEnvironment graphics + = GraphicsEnvironment.getLocalGraphicsEnvironment(); device = graphics.getDefaultScreenDevice(); device.setFullScreenWindow(this); } else { // Désactive le Plein Écran @@ -108,7 +119,7 @@ public class Fenetre extends JFrame { } /** - * Décharge le PDF courant, ferme la fenêtre + * Décharge le PDF courant, ferme la {@link Fenetre fenêtre} * S'il s'agit de la dernière fenêtre ouverte, arrête l'application */ public void quitter() { @@ -122,11 +133,14 @@ public class Fenetre extends JFrame { /* Si la liste des fenêtres n'est pas pleine alors on réactive le bouton pour créer une nouvelle fenêtre */ - if (GestionFenetre.FENETRE_LIST.size() < GestionFenetre.NB_MAX_PDF) + if (GestionFenetre.FENETRE_LIST.size() < GestionFenetre.NB_MAX_PDF) { GestionMode.activerBtnNouvelleFenetre(); + } /* S'il n'y a plus de fenêtres ouvertes on quitte l'application */ - if (GestionFenetre.FENETRE_LIST.size() == 0) System.exit(0); + if (GestionFenetre.FENETRE_LIST.size() == 0) { + System.exit(0); + } } /** diff --git a/src/lecteur_pdf/GestionFenetre.java b/src/lecteur_pdf/GestionFenetre.java index 5a38826..30a75a9 100644 --- a/src/lecteur_pdf/GestionFenetre.java +++ b/src/lecteur_pdf/GestionFenetre.java @@ -12,7 +12,7 @@ import java.util.ArrayList; import java.util.List; /** - * Gestionnaire des fenêtres ouvertes dans l'application + * Gestionnaire des {@link Fenetre fenêtres} ouvertes dans l'application * * @author Léo Franch * @author Tristan Nogaret @@ -22,17 +22,23 @@ import java.util.List; public class GestionFenetre { /** - * Icône de l'application (affiché en haut à droite des fenêtres) + * Icône de l'application (affiché en haut à droite des + * {@link Fenetre fenêtres}) + * + * @see Image */ - public static final Image ICONE = new ImageIcon("./lib/icon.png").getImage(); + public static final Image ICONE = new ImageIcon( + "./lib/icon.png").getImage(); /** * Nombre maximum de PDF que l'application peut ouvrir en simultané */ - public static final int NB_MAX_PDF = 2; + public static final int NB_MAX_PDF = 2; /** - * Liste des fenêtres ouvertes + * Liste des {@link Fenetre fenêtres} ouvertes + * + * @see List */ public static final List FENETRE_LIST = new ArrayList<>(); @@ -48,29 +54,37 @@ public class GestionFenetre { /** * Méthode qui affiche la page suivante de tous les PDF ouverts - * (mode Synchronisé) + * ({@link lecteur_pdf.menuBar.menuItems.ModeSynchronise mode Synchronisé}) */ public static void nextPages() { - for (Fenetre ihm : FENETRE_LIST) ihm.getPdfPanel().pageSuivante(); + for (Fenetre ihm : FENETRE_LIST) { + ihm.getPdfPanel().pageSuivante(); + } } /** * Méthode qui affiche la page précédente de tous les PDF ouverts - * (mode Synchronisé) + * ({@link lecteur_pdf.menuBar.menuItems.ModeSynchronise mode Synchronisé}) */ public static void previousPages() { - for (Fenetre ihm : FENETRE_LIST) ihm.getPdfPanel().pagePrecedente(); + for (Fenetre ihm : FENETRE_LIST) { + ihm.getPdfPanel().pagePrecedente(); + } } /** * Lance l'application + * * @param args non utilisé */ public static void main(String[] args) { - /* Définit le style de la fenêtre sur l'explorateur Windows si possible */ + /* Définit le style de la fenêtre sur l'explorateur Windows si + possible */ try { - UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); - } catch (Exception ignored) {} + UIManager.setLookAndFeel( + "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); + } catch (Exception ignored) { + } GestionMode.setModeSepare(true); newIhmPdf(); diff --git a/src/lecteur_pdf/GestionMode.java b/src/lecteur_pdf/GestionMode.java index adf9af8..0dd5c35 100644 --- a/src/lecteur_pdf/GestionMode.java +++ b/src/lecteur_pdf/GestionMode.java @@ -14,7 +14,8 @@ import java.awt.*; import java.util.ArrayList; /** - * Gestionnaire de mode Synchronisé ou Séparé + * Gestionnaire de mode {@link ModeSynchronise Synchronisé} ou + * {@link ModeSepare Séparé} * * @author Léo Franch * @author Tristan Nogaret @@ -23,40 +24,82 @@ import java.util.ArrayList; */ public class GestionMode { - /** Défini si le mode séparé est activé ou non */ + /** + * Définit si le {@link ModeSepare mode Séparé} est activé ou non + */ private static boolean modeSepare; - /** Liste les MenuItems de type NouvelleFenetre de l'application */ - private static final ArrayList nouvelleFenetreList = new ArrayList<>(); - - /** Liste les MenuItem de type ModeSepare de l'application */ - private static final ArrayList modeSepareList = new ArrayList<>(); - - /** Liste les MenuItem de type ModeSynchronise de l'application */ - private static final ArrayList modeSynchroniseList = new ArrayList<>(); + /** + * Liste les {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItems} + * de type {@link NouvelleFenetre NouvelleFenetre} de l'application + * + * @see ArrayList + */ + private static final ArrayList nouvelleFenetreList + = new ArrayList<>(); /** - * Référence les éléments NouvelleFenetre, ModeSepare, ModeSynchronise - * lors de la création d'une nouvelle fenêtre - * @param fenetre Référence du MenuItem NouvelleFenetre de la fenêtre crée - * @param separe Référence du MenuItem ModeSepare de la fenêtre crée - * @param synchronise Référence du MenuItem ModeSynchronise de la fenêtre crée + * Liste les {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItems} + * de type {@link ModeSepare ModeSepare} de l'application + * + * @see ArrayList */ - public static void addItem(NouvelleFenetre fenetre, ModeSepare separe, ModeSynchronise synchronise) { + private static final ArrayList modeSepareList + = new ArrayList<>(); + + /** + * Liste les {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItems} + * de type {@link ModeSynchronise ModeSynchronise} de l'application + * + * @see ArrayList + */ + private static final ArrayList modeSynchroniseList + = new ArrayList<>(); + + /** + * Référence les éléments + * {@link NouvelleFenetre NouvelleFenetre}, + * {@link ModeSepare ModeSepare} et + * {@link ModeSynchronise ModeSynchronise} + * lors de la création d'une nouvelle {@link Fenetre fenêtre} + * + * @param fenetre Référence du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem + * MenuItem} + * {@link NouvelleFenetre NouvelleFenetre} de la fenêtre + * créée + * @param separe Référence du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem + * MenuItem} + * {@link ModeSepare ModeSepare} de la fenêtre créée + * @param synchronise Référence du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem + * MenuItem} + * {@link ModeSynchronise ModeSynchronise} de la fenêtre + * créée + */ + public static void addItem(NouvelleFenetre fenetre, + ModeSepare separe, + ModeSynchronise synchronise) { nouvelleFenetreList.add(fenetre); modeSepareList.add(separe); modeSynchroniseList.add(synchronise); updateMode(); } - /** @return true si le mode séparé est activé, false sinon */ + /** + * @return
  • true si le {@link ModeSepare mode séparé} est + * activé
  • false sinon
+ */ public static boolean isModeSepare() { return modeSepare; } /** * Change de mode - * @param mode true pour le mode séparé, false pour le mode synchronisé + * + * @param mode
  • true pour le mode séparé
  • + *
  • false pour le mode synchronisé
*/ public static void setModeSepare(boolean mode) { modeSepare = mode; @@ -64,19 +107,19 @@ public class GestionMode { } /** - * Met à jour dans toutes les fenêtres ouvertes la checkbox du mode - * sélectionné + * Met à jour dans toutes les {@link Fenetre fenêtres} ouvertes la + * checkbox du mode sélectionné */ private static void updateMode() { - for (int i = 0; i < modeSepareList.size() ; i++) { + for (int i = 0; i < modeSepareList.size(); i++) { modeSepareList.get(i).setSelected(modeSepare); modeSynchroniseList.get(i).setSelected(!modeSepare); } } /** - * Grise le bouton "Nouvelle Fenêtre" de toutes les fenêtres de - * l'application + * Grise le bouton "{@link NouvelleFenetre Nouvelle Fenêtre}" de toutes les + * {@link Fenetre fenêtres} de l'application */ public static void desactiverBtnNouvelleFenetre() { for (NouvelleFenetre item : nouvelleFenetreList) { @@ -86,8 +129,8 @@ public class GestionMode { } /** - * Dégrise le bouton "Nouvelle Fenêtre" de toutes les fenêtres de - * l'application + * Dégrise le bouton "{@link NouvelleFenetre Nouvelle Fenêtre}" de toutes + * les {@link Fenetre fenêtres} de l'application */ public static void activerBtnNouvelleFenetre() { for (NouvelleFenetre item : nouvelleFenetreList) { diff --git a/src/lecteur_pdf/Popup.java b/src/lecteur_pdf/Popup.java index 6db21fc..fe8b8b9 100644 --- a/src/lecteur_pdf/Popup.java +++ b/src/lecteur_pdf/Popup.java @@ -10,7 +10,7 @@ import javax.swing.*; import java.awt.*; /** - * Classe outils permettant de créer des fenêtres Popups + * Classe outils permettant de créer des fenêtres popups * * @author Léo Franch * @author Tristan Nogaret @@ -23,28 +23,40 @@ public class Popup { * Créé une nouvelle fenêtre comportant un message et * deux boutons : Oui et Non * - * @param parent La fenêtre parente de référence - * @param titre Titre de la fenêtre - * @param message Message affiché dans la fenêtre - * @return JOptionPane.YES_OPTION si oui est cliqué, JOptionPane.NO_OPTION si non est cliqué + * @param parent La {@link Fenetre fenêtre} parente de référence + * @param titre Titre de la {@link Fenetre fenêtre} + * @param message Message affiché dans la {@link Fenetre fenêtre} + * @return JOptionPane.YES_OPTION si oui est cliqué, JOptionPane + * .NO_OPTION si non est cliqué + * @see JOptionPane */ - public static int OuiNonPopup(Component parent, String titre, String message) { + public static int OuiNonPopup(Component parent, + String titre, + String message) { String[] choix = {"Oui", "Non"}; - return JOptionPane.showOptionDialog(parent, message, titre, JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE, + return JOptionPane.showOptionDialog(parent, message, titre, + JOptionPane.YES_NO_OPTION, + JOptionPane.INFORMATION_MESSAGE, null, choix, choix[0]); } /** - * Créé une nouvelle fenêtre comportant un message d'erreur avec un - * bouton OK + * Créé une nouvelle {@link Fenetre fenêtre} comportant un message + * d'erreur avec un bouton OK * - * @param parent La fenêtre parente de référence - * @param titre Titre de la fenêtre + * @param parent La {@link Fenetre fenêtre} parente de référence + * @param titre Titre de la {@link Fenetre fenêtre} * @param message Message d'erreur + * @see JOptionPane */ - public static void errorPopup(Component parent, String titre, String message) { + public static void errorPopup(Component parent, + String titre, + String message) { JOptionPane d = new JOptionPane(); String[] choix = {"OK"}; - JOptionPane.showOptionDialog(parent, message, titre, JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, choix, choix[0]); + JOptionPane.showOptionDialog(parent, message, titre, + JOptionPane.YES_NO_OPTION, + JOptionPane.ERROR_MESSAGE, null, choix, + choix[0]); } } diff --git a/src/lecteur_pdf/SelectionnerFichier.java b/src/lecteur_pdf/SelectionnerFichier.java index 0b0efae..156f62f 100644 --- a/src/lecteur_pdf/SelectionnerFichier.java +++ b/src/lecteur_pdf/SelectionnerFichier.java @@ -12,42 +12,71 @@ import javax.swing.filechooser.FileSystemView; import java.io.File; /** - * Classe qui permet d'ouvrir une fenêtre pour sélectionner le fichier pdf à ouvrir + * Classe qui permet d'ouvrir une {@link Fenetre fenêtre} pour sélectionner + * le fichier pdf à ouvrir * * @author Léo FRANCH * @author Tristan NOGARET * @author Lucàs VABRE * @author Noé VILLENEUVE + * @see JFileChooser + * @see File + * @see FileNameExtensionFilter + * @see FileSystemView */ public class SelectionnerFichier { - /** Le titre de la fenêtre */ + /** + * Le titre de la {@link Fenetre fenêtre} + */ private static final String TITRE = "Sélectionnez un PDF"; - /** Description du filtre */ + /** + * Description du filtre + * + * @see FileNameExtensionFilter + */ private static final String DESCRIPTION = "PDF files (*.pdf)"; - /** Extension de fichier filtré */ + /** + * Extension de fichier filtré + */ private static final String EXTENSION = "pdf"; - /** Valeur du bouton OK */ + /** + * Valeur du bouton Ok + */ private static final String BOUTON_OK = "Ouvrir"; - /** Valeur du bouton Annuler */ + /** + * Valeur du bouton Annuler + */ private static final String BOUTON_ANNULER = "Annuler"; - /** Indice au survol du bouton Ok */ - private static final String INDICE_BOUTON_OK = "Ouvre le fichier sélectionné"; + /** + * Indice au survol du bouton Ok + */ + private static final String INDICE_BOUTON_OK + = "Ouvre le fichier sélectionné"; - /** Indice au survol du bouton Annuler */ + /** + * Indice au survol du bouton Annuler + */ private static final String INDICE_BOUTON_ANNULER = "Annule la sélection"; /** - * Méthode qui créée une fenêtre pour que l'utilisateur choisisse un - * fichier PDF + * Méthode qui créée une {@link Fenetre fenêtre} pour que l'utilisateur + * choisisse un fichier PDF * - * @return le fichier choisi par l'utilisateur, null si aucun fichier - * n'est choisi + * @param parent La {@link Fenetre fenêtre} parente de référence + * @return
  • le fichier choisi par l'utilisateur
  • + *
  • null si aucun fichier n'est choisi
+ * @see JFileChooser + * @see File + * @see FileSystemView + * @see FileNameExtensionFilter + * @see SwingUtilities + * @see UIManager */ public static File ouvrirFichier(JFrame parent) { diff --git a/src/lecteur_pdf/menuBar/menuItems/FermerFichier.java b/src/lecteur_pdf/menuBar/menuItems/FermerFichier.java index 4d0a5f0..9ff69ab 100644 --- a/src/lecteur_pdf/menuBar/menuItems/FermerFichier.java +++ b/src/lecteur_pdf/menuBar/menuItems/FermerFichier.java @@ -26,16 +26,12 @@ public class FermerFichier extends MenuItem { /** * Titre de la {@link lecteur_pdf.Popup Popup} lors de la fermeture d'un * document - * - * @see javax.swing.Popup */ public static final String TITRE = "Fermeture du document"; /** * Message de la {@link lecteur_pdf.Popup Popup} lors de la fermeture * d'un {@link lecteur_pdf.pdf.DocumentPdf document} - * - * @see javax.swing.Popup */ public static final String MESSAGE = "Êtes-vous sûr de vouloir fermer le document ?";