From 8f20574cc06ac294e7533870c2070b8cfc26380b Mon Sep 17 00:00:00 2001 From: NonoL3Robot Date: Fri, 11 Mar 2022 14:11:25 +0100 Subject: [PATCH] javadoc --- src/lecteur_pdf/pdf/PdfPanel.java | 162 +++++++++++++----- .../raccourcisClavier/RaccourcisClavier.java | 48 ++++-- .../raccourcisClavier/RaccourcisElement.java | 100 ++++++++--- 3 files changed, 231 insertions(+), 79 deletions(-) diff --git a/src/lecteur_pdf/pdf/PdfPanel.java b/src/lecteur_pdf/pdf/PdfPanel.java index 6e688e0..15b6a68 100644 --- a/src/lecteur_pdf/pdf/PdfPanel.java +++ b/src/lecteur_pdf/pdf/PdfPanel.java @@ -6,6 +6,7 @@ package lecteur_pdf.pdf; +import lecteur_pdf.Fenetre; import lecteur_pdf.GestionFenetre; import lecteur_pdf.GestionMode; @@ -22,43 +23,78 @@ import java.io.IOException; * @author Tristan Nogaret * @author Lucàs Vabre * @author Noé Villeneuve + * @see JPanel */ public class PdfPanel extends JPanel { - /** Le numéro de la page courante */ + /** + * Le numéro de la page courante + */ private int numeroPage; - /** Valeur multiplicative de la taille de la page */ + /** + * Valeur multiplicative de la taille de la page + */ private float taille; - /** Valeur multiplicative du zoom */ + /** + * Valeur multiplicative du zoom + */ private float zoom; - /** Défini si la page est en pleine largeur ou non */ + /** + * Défini si la page est en pleine largeur ou non + */ private boolean pleineLargeur; - /** Bloqueur qui défini si le processeur est en train de générer une - * nouvelle page */ + /** + * Bloqueur qui défini si le processeur est en train de générer une + * nouvelle page + */ private boolean processing; - /** Le document PDF chargé */ + /** + * Le document PDF chargé + * + * @see org.apache.pdfbox.pdmodel.PDDocument + */ private DocumentPdf pdfLoader; /* Interface */ - /** La zone de saisie du numéro de page */ + /** + * La zone de saisie du numéro de page + * + * @see JTextField + */ private final JTextField indexPageInput; - /** Le texte définissant le nombre max de pages */ + /** + * Le texte définissant le nombre max de pages + * + * @see JLabel + */ private final JLabel maxPageLabel; - /** Element scrollable qui contiens la page */ + /** + * Element scrollable qui contiens la page + * + * @see JScrollPane + */ private final JScrollPane scrollPane; - /** Zone de l'élément scrollable qui est visible */ + /** + * Zone de l'élément scrollable qui est visible + * + * @see JViewport + */ private final JViewport viewport; - /** Label qui contient l'image de la page affichée */ + /** + * Label qui contient l'image de la page affichée + * + * @see JLabel + */ private final JLabel page; /** @@ -109,7 +145,8 @@ public class PdfPanel extends JPanel { @Override public void keyPressed(KeyEvent e) { super.keyPressed(e); - indexPageInput.setEditable(e.getKeyChar() >= '0' && e.getKeyChar() <= '9'); + indexPageInput.setEditable( + e.getKeyChar() >= '0' && e.getKeyChar() <= '9'); } }); @@ -118,10 +155,13 @@ public class PdfPanel extends JPanel { String saisie = indexPageInput.getText(); try { int index = Integer.parseInt(saisie); - if (isPageValide(index - 1)) changerPage(index - 1); - else throw new Exception(); + if (isPageValide(index - 1)) { + changerPage(index - 1); + } else { + throw new Exception(); + } } catch (Exception f) { - indexPageInput.setText(Integer.toString(numeroPage +1)); + indexPageInput.setText(Integer.toString(numeroPage + 1)); } }); @@ -137,40 +177,57 @@ public class PdfPanel extends JPanel { /** * Action lors du clic sur le bouton suivant - * Affiche la page suivante du ou des documents (suivant si le mode - * synchronisé est activé ou non) + * Affiche la page suivante du ou des documents (suivant si le + * {@link lecteur_pdf.menuBar.menuItems.ModeSynchronise mode Synchronisé} + * est activé ou non) + * + * @see JButton */ private void btnSuivantAction() { - if (GestionMode.isModeSepare()) pageSuivante(); - else GestionFenetre.nextPages(); + if (GestionMode.isModeSepare()) { + pageSuivante(); + } else { + GestionFenetre.nextPages(); + } } /** * Action lors du clic sur le bouton precedent - * Affiche la page précédente du ou des documents (suivant si le mode - * synchronisé est activé ou non) + * Affiche la page précédente du ou des documents (suivant si le + * {@link lecteur_pdf.menuBar.menuItems.ModeSynchronise mode Synchronisé} + * est activé ou non) + * + * @see JButton */ private void btnPrecedentAction() { - if (GestionMode.isModeSepare()) pagePrecedente(); - else GestionFenetre.previousPages(); + if (GestionMode.isModeSepare()) { + pagePrecedente(); + } else { + GestionFenetre.previousPages(); + } } /** - * Change la taille de la page courante suivant si fonction Pleine - * Largeur est activé ou non + * Change la taille de la page courante suivant si fonction + * {@link lecteur_pdf.menuBar.menuItems.PleineLargeur Pleine Largeur} + * est activée ou non */ public void changerTaille() { - if (pdfLoader == null || processing) return; + if (pdfLoader == null || processing) { + return; + } if (pleineLargeur) { float viewportWidth = viewport.getWidth(); - float scrollpaneWidth = scrollPane.getVerticalScrollBar().getWidth(); + float scrollpaneWidth = scrollPane.getVerticalScrollBar() + .getWidth(); float pdfMinWidth = pdfLoader.getMinWidth(); taille = (viewportWidth - scrollpaneWidth) / pdfMinWidth - zoom; } else { float viewportHeight = viewport.getHeight(); - float scrollpaneHeight = scrollPane.getVerticalScrollBar().getHeight(); + float scrollpaneHeight = scrollPane.getVerticalScrollBar() + .getHeight(); float pdfMinHeight = pdfLoader.getMinHeight(); taille = (viewportHeight - scrollpaneHeight) / pdfMinHeight - zoom; @@ -178,7 +235,13 @@ public class PdfPanel extends JPanel { setTaille(taille); } - /** @param pleineLargeur booléen qui défini l'état du mode pleine largeur */ + /** + * @param pleineLargeur Booléen qui défini l'état du mode + *

+ *

+ * {@link lecteur_pdf.menuBar.menuItems.PleineLargeur + * Pleine Largeur} + */ public void setPleineLargeur(boolean pleineLargeur) { this.pleineLargeur = pleineLargeur; changerTaille(); @@ -191,13 +254,13 @@ public class PdfPanel extends JPanel { * @return true si le prédicat est vérifié, false sinon */ private boolean isPageValide(int index) { - return pdfLoader != null - && 0 <= index - && index < pdfLoader.getNbPages(); + return pdfLoader != null && 0 <= index + && index < pdfLoader.getNbPages(); } /** - * Méthode qui permet de charger un PDF dans la fenêtre courante + * Méthode qui permet de charger un PDF dans la {@link Fenetre fenêtre} + * courante * * @param pdfFile Le fichier PDF à charger * @return true si le PDF a pu se charger, false sinon @@ -207,11 +270,15 @@ public class PdfPanel extends JPanel { setPdfLoader(new DocumentPdf(pdfFile)); changerPage(0); return true; - } catch (IOException ignored) {} + } catch (IOException ignored) { + } return false; } - /** @param pdfLoader un nouveau document PDF à affecter à la fenêtre */ + /** + * @param pdfLoader un nouveau document PDF à affecter à la + * {@link Fenetre fenêtre} + */ public void setPdfLoader(DocumentPdf pdfLoader) { this.pdfLoader = pdfLoader; } @@ -220,7 +287,9 @@ public class PdfPanel extends JPanel { * Décharge le document courant s'il y en a un */ public void dechargerPdf() { - if (!isCharge()) return; + if (!isCharge()) { + return; + } /* Ferme le loader et l'efface */ pdfLoader.close(); @@ -261,12 +330,16 @@ public class PdfPanel extends JPanel { changerPage(numeroPage); } - /** Affiche la page suivante */ + /** + * Affiche la page suivante + */ public void pageSuivante() { changerPage(numeroPage + 1); } - /** Affiche la page suivante */ + /** + * Affiche la page précédente + */ public void pagePrecedente() { changerPage(numeroPage - 1); } @@ -277,20 +350,25 @@ public class PdfPanel extends JPanel { * @param index Le numéro de la page où l'on veut se rendre */ private void changerPage(int index) { - if (!isPageValide(index)) return; + if (!isPageValide(index)) { + return; + } processing = true; try { - page.setIcon(new ImageIcon(pdfLoader.renderPage(index, zoom + taille))); + page.setIcon( + new ImageIcon(pdfLoader.renderPage(index, zoom + taille))); numeroPage = index; indexPageInput.setText(Integer.toString(numeroPage + 1)); maxPageLabel.setText(String.format("/%d", pdfLoader.getNbPages())); - } catch (IOException ignored) {} + } catch (IOException ignored) { + } processing = false; } /** * Prédicat qui vérifie si un PDF est chargé ou non + * * @return true si un PDF est chargé, false sinon */ public boolean isCharge() { diff --git a/src/lecteur_pdf/raccourcisClavier/RaccourcisClavier.java b/src/lecteur_pdf/raccourcisClavier/RaccourcisClavier.java index 2b69871..cda4829 100644 --- a/src/lecteur_pdf/raccourcisClavier/RaccourcisClavier.java +++ b/src/lecteur_pdf/raccourcisClavier/RaccourcisClavier.java @@ -6,6 +6,7 @@ package lecteur_pdf.raccourcisClavier; +import lecteur_pdf.Fenetre; import lecteur_pdf.GestionFenetre; import javax.swing.*; @@ -24,6 +25,10 @@ import java.util.Map; * @author Tristan Nogaret * @author Lucàs Vabre * @author Noé Villeneuve + * @see JFrame + * @see ArrayList + * @see HashMap + * @see KeyStroke */ public class RaccourcisClavier extends JFrame { @@ -38,24 +43,37 @@ public class RaccourcisClavier extends JFrame { public static boolean saisieBloquee; /** - * Liste des menus items, se remplis à la création de chaque MenuItem de + * Liste des {@link lecteur_pdf.menuBar.menuItems menus items}, se + * remplis à la création de chaque + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem} de * l'application + * + * @see ArrayList */ public static ArrayList listeMenuItems = new ArrayList<>(); /** - * Liste des éléments graphiques (un élément est une ligne) de la fenêtre + * Liste des {@link RaccourcisElement éléments graphiques} (un élément + * est une ligne) de la {@link Fenetre fenêtre} + * + * @see ArrayList */ - public static ArrayList listeRaccourcisElement = new ArrayList<>(); + public static ArrayList listeRaccourcisElement + = new ArrayList<>(); /** - * HashMap qui prend en clé le Nom du MenuItem et en valeur une + * HashMap qui prend en clé le nom du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem} et en valeur une * combinaison de touche : le raccourci clavier + * + * @see HashMap + * @see KeyStroke */ public static Map raccourcis = new HashMap<>() {}; /** - * La liste des noms de MenuItems de l'application + * La liste des noms de + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem} de l'application */ public static String[] LISTE_NOM = { "Ouvrir", "Fermer", "Quitter", "Mode Plein Écran", "Page précédente", @@ -101,9 +119,9 @@ public class RaccourcisClavier extends JFrame { }; /** - * Créé une nouvelle fenêtre contenant la liste des Raccourcis claviers - * de l'application ainsi qu'un bouton Raccourcis par défaut qui remet - * les raccourcis par défaut de l'application + * Créé une nouvelle {@link Fenetre fenêtre} contenant la liste des + * raccourcis claviers de l'application ainsi qu'un bouton raccourcis par + * défaut qui réinitialise les raccourcis claviers de l'application */ public RaccourcisClavier() { super("Modification des raccourcis claviers"); @@ -142,8 +160,8 @@ public class RaccourcisClavier extends JFrame { /** * Action lors du clic sur le bouton Reset - * Charge les raccourcis par défaut puis les sauvegarde - * Met a jour l'interface + * Charge les raccourcis par défaut puis les sauvegarde et met à jour + * l'interface */ private void actionBtnReset(ActionEvent evt) { initialisationFichierRaccourcis(); @@ -162,6 +180,9 @@ public class RaccourcisClavier extends JFrame { /** * Lis le fichier de sauvegarde et restaure la HashMap des raccourcis + * + * @see FileInputStream + * @see ObjectInputStream */ public static void chargerRaccourcis() { try { @@ -184,6 +205,9 @@ public class RaccourcisClavier extends JFrame { /** * Écrit dans le fichier de sauvegarde la HashMap des raccourcis + * + * @see FileOutputStream + * @see ObjectOutputStream */ public static void sauvegarderRaccourcis() { try { @@ -213,7 +237,9 @@ public class RaccourcisClavier extends JFrame { } /** - * Affecte a chaque MenuItems le raccourci qui lui est destiné + * Affecte a chaque + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem} le raccourci + * qui lui est destiné */ public static void affecterRaccourcis() { for (JMenuItem menuItem : listeMenuItems) { diff --git a/src/lecteur_pdf/raccourcisClavier/RaccourcisElement.java b/src/lecteur_pdf/raccourcisClavier/RaccourcisElement.java index 0a8a02c..42414a7 100644 --- a/src/lecteur_pdf/raccourcisClavier/RaccourcisElement.java +++ b/src/lecteur_pdf/raccourcisClavier/RaccourcisElement.java @@ -22,26 +22,45 @@ import java.awt.event.KeyListener; * @author Tristan Nogaret * @author Lucàs Vabre * @author Noé Villeneuve + * @see JPanel */ public class RaccourcisElement extends JPanel { - /** Le nom du MenuItem */ + /** + * Le nom du MenuItem + */ private final String nom; - /** Le bouton qui contient en valeur la séquence de touches correspondant - * au raccourci du MenuItem de l'application */ + /** + * Le bouton qui contient en valeur la séquence de touches correspondant + * au raccourci du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem} de l'application + * + * @see JButton + */ private final JButton btnRaccourcis; - /** Le raccourci clavier */ + /** + * Le raccourci clavier + * + * @see KeyStroke + */ private KeyStroke raccourcis; /** * Crée un nouveau JPanel comportant une ligne et deux colonnes - * Dans la première colonne on trouve un Label qui défini le MenuItem - * Dans la seconde colonne on trouve le bouton pour éditer le raccourci clavier + *

  • Dans la première colonne on trouve un label qui défini le + * {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
  • + *
  • Dans la seconde colonne on trouve le bouton pour éditer le + * raccourci clavier
  • * - * @param nom Le nom du MenuItem ciblé - * @param raccourcis Le raccourci clavier actuel du MenuItem ciblé + * @param nom Le nom du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem + * MenuItem} ciblé + * @param raccourcis Le raccourci clavier actuel du + * {@link lecteur_pdf.menuBar.menuItems.MenuItem + * MenuItem} ciblé + * @see GridLayout */ public RaccourcisElement(String nom, KeyStroke raccourcis) { super(new GridLayout(1, 2)); @@ -71,24 +90,33 @@ public class RaccourcisElement extends JPanel { btnRaccourcis.addKeyListener(new KeyListener() { - /** Valeur qui permet de définir si une touche n'est pas reconnue */ + /** + * Valeur qui permet de définir si une touche n'est pas reconnue + */ private static final int INDETERMINATE = -1; - /** La valeur de la touche pressée précédemment */ + /** + * La valeur de la touche pressée précédemment + */ private int previousKeyPressed = INDETERMINATE; @Override public void keyPressed(KeyEvent evt) { - if (previousKeyPressed == INDETERMINATE) previousKeyPressed = evt.getKeyCode(); - else if (previousKeyPressed != evt.getKeyCode() - && isMaskValide(previousKeyPressed) - && !isMaskValide(evt.getKeyCode())) { + if (previousKeyPressed == INDETERMINATE) { + previousKeyPressed = evt.getKeyCode(); + } else if (previousKeyPressed != evt.getKeyCode() + && isMaskValide(previousKeyPressed) + && !isMaskValide(evt.getKeyCode())) { - KeyStroke ks = KeyStroke.getKeyStroke(evt.getKeyCode(), getMask(previousKeyPressed)); + KeyStroke ks = KeyStroke.getKeyStroke(evt.getKeyCode(), + getMask( + previousKeyPressed)); /* Vérifie que ce raccourci clavier n'existe pas */ if (!RaccourcisClavier.raccourcis.containsValue(ks)) { - btnRaccourcis.setText(getMaskString(previousKeyPressed) + " + " + ks.toString().split(" ")[2]); + btnRaccourcis.setText( + getMaskString(previousKeyPressed) + " + " + + ks.toString().split(" ")[2]); // On modifie la valeur RaccourcisClavier.raccourcis.replace(nom, ks); raccourcis = ks; @@ -97,10 +125,17 @@ public class RaccourcisElement extends JPanel { } else { final String TITRE_ERREUR = "Erreur raccourcis"; final String MESSAGE_ERREUR = "Le raccourcis que " - + "vous venez de réaliser est déjà affecté à une autre fonctionnalité"; + + "vous venez de " + + "réaliser est " + + "déjà affecté à " + + "une autre " + + "fonctionnalité"; - Popup.errorPopup(btnRaccourcis, TITRE_ERREUR, MESSAGE_ERREUR); - btnRaccourcis.setText(modifierToString(raccourcis.getModifiers()) + " + " + (char)raccourcis.getKeyCode()); + Popup.errorPopup(btnRaccourcis, TITRE_ERREUR, + MESSAGE_ERREUR); + btnRaccourcis.setText( + modifierToString(raccourcis.getModifiers()) + + " + " + (char) raccourcis.getKeyCode()); } btnRaccourcis.removeKeyListener(this); @@ -109,11 +144,14 @@ public class RaccourcisElement extends JPanel { } @Override - public void keyTyped(KeyEvent evt) {} + public void keyTyped(KeyEvent evt) { + } @Override public void keyReleased(KeyEvent evt) { - if (previousKeyPressed == evt.getKeyCode()) previousKeyPressed = INDETERMINATE; + if (previousKeyPressed == evt.getKeyCode()) { + previousKeyPressed = INDETERMINATE; + } } private boolean isMaskValide(int maskValue) { @@ -123,8 +161,11 @@ public class RaccourcisElement extends JPanel { /** * Méthode outil qui permet de convertir la valeur tapée en * KeyEvent - * @param maskValue Valeur de masque tapé (control, shift ou alt) + * @param maskValue Valeur de masque tapé (control, shift ou + * alt) * @return Le KeyEvent correspondant + * + * @see KeyEvent */ private int getMask(int maskValue) { return switch (maskValue) { @@ -137,7 +178,8 @@ public class RaccourcisElement extends JPanel { /** * Méthode outil qui permet de convertir la valeur tapée en * chaîne de caractère - * @param maskValue Valeur de masque tapé (controle, shift ou alt) + * @param maskValue Valeur de masque tapé (controle, shift ou + * alt) * @return La chaine de caractère correspondante */ private String getMaskString(int maskValue) { @@ -152,7 +194,8 @@ public class RaccourcisElement extends JPanel { } /** - * Convertit un Modifier en chaîne de caractère + * Convertit un modifier en chaîne de caractère + * * @param modifier valeur du modifier (Element d'un KeyStroke != KeyEvent) * @return La chaîne de caractère correspondante */ @@ -165,16 +208,21 @@ public class RaccourcisElement extends JPanel { } /** - * Convertis un raccourci en chaîne de caractère + * Convertit un raccourci en chaîne de caractère + * * @param keyStroke Le raccourci en question * @return La chaîne de caractère construite à partir du raccourci + * + * @see KeyStroke */ private String keystrokeToString(KeyStroke keyStroke) { - return modifierToString(keyStroke.getModifiers()) + " + " + keyStroke.toString().split(" ")[2]; + return modifierToString(keyStroke.getModifiers()) + " + " + + keyStroke.toString().split(" ")[2]; } /** * Change le raccourci (visuellement) + * * @param raccourcis nouveau raccourci */ public void setRaccourcis(KeyStroke raccourcis) {