refactor + javadoc

This commit is contained in:
NonoL3Robot
2022-03-10 19:06:27 +01:00
parent 77d6e1b8c7
commit ff2e142e32
31 changed files with 291 additions and 263 deletions
@@ -1,7 +1,7 @@
/*
* RaccourcisClavier.java, 26/02/2022
* IUT Rodez 2021-2022, INFO 2
* pas de copyright, aucun droits
* IUT Rodez 2021-2022, INFO2
* Pas de copyright, aucun droits
*/
package lecteur_pdf.raccourcisClavier;
@@ -21,16 +21,20 @@ import java.util.Map;
* Gestionnaire des raccourcis claviers de l'application
*
* @author Léo Franch
* @author Lucas Vabre
* @author Noé Villeneuve
* @author Tristan Nogaret
* @author Lucàs Vabre
* @author Noé Villeneuve
*/
public class RaccourcisClavier extends JFrame {
/** Le nom du fichier de sauvegarde */
/**
* Le nom du fichier de sauvegarde
*/
public static final String FICHIER_SAUVEGARDE = "raccourcis.save";
/** Booleen qui garantis l'attribution d'un seul raccourcis à la fois */
/**
* Booléen qui garanti l'attribution d'un seul raccourci à la fois
*/
public static boolean saisieBloquee;
/**
@@ -45,7 +49,8 @@ public class RaccourcisClavier extends JFrame {
public static ArrayList<RaccourcisElement> listeRaccourcisElement = new ArrayList<>();
/**
* HashMap qui prend en clé le Nom du MenuItem et en valeur une combinaison de touche : le raccourcis clavier
* HashMap qui prend en clé le Nom du MenuItem et en valeur une
* combinaison de touche : le raccourci clavier
*/
public static Map<String, KeyStroke> raccourcis = new HashMap<>() {};
@@ -53,20 +58,9 @@ public class RaccourcisClavier extends JFrame {
* La liste des noms de MenuItems de l'application
*/
public static String[] LISTE_NOM = {
"Ouvrir",
"Fermer",
"Quitter",
"Mode Plein Écran",
"Page précédente",
"Page suivante",
"Zoom 50%",
"Zoom 100%",
"Zoom 150%",
"Page Entière",
"Pleine Largeur",
"Nouvelle Fenêtre",
"Mode Séparé",
"Mode Synchronisé",
"Ouvrir", "Fermer", "Quitter", "Mode Plein Écran", "Page précédente",
"Page suivante", "Zoom 50%", "Zoom 100%", "Zoom 150%", "Page Entière",
"Pleine Largeur", "Nouvelle Fenêtre", "Mode Séparé", "Mode Synchronisé",
"Modifier Touches"
};
@@ -74,25 +68,42 @@ public class RaccourcisClavier extends JFrame {
* La liste des raccourcis par défaut
*/
public static KeyStroke[] RACCOURCIS_DEFAUT = {
KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK), // Ouvrir
KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK), // Fermer
KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK), // Quitter
KeyStroke.getKeyStroke(KeyEvent.VK_F11, KeyEvent.CTRL_DOWN_MASK), // Mode Plein Écran
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_DOWN_MASK), // Page Précédente
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_DOWN_MASK), // Page Suivante
KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 50%
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK), // Zoom 100%
KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_DOWN_MASK), // Zoom 150%
KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_DOWN_MASK), // Page Entière
KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK), // Pleine Largeur
KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK), // Nouvelle Fenêtre
KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK), // Mode Séparé
KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK), // Mode Synchronisé
KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK), // Modifier Touches
KeyStroke.getKeyStroke(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK),
// Ouvrir
KeyStroke.getKeyStroke(KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK),
// Fermer
KeyStroke.getKeyStroke(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK),
// Quitter
KeyStroke.getKeyStroke(KeyEvent.VK_F11, KeyEvent.CTRL_DOWN_MASK),
// Mode Plein Écran
KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, KeyEvent.CTRL_DOWN_MASK),
// Page Précédente
KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, KeyEvent.CTRL_DOWN_MASK),
// Page Suivante
KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, KeyEvent.CTRL_DOWN_MASK),
// Zoom 50%
KeyStroke.getKeyStroke(KeyEvent.VK_NUMPAD0, KeyEvent.CTRL_DOWN_MASK),
// Zoom 100%
KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, KeyEvent.CTRL_DOWN_MASK),
// Zoom 150%
KeyStroke.getKeyStroke(KeyEvent.VK_W, KeyEvent.CTRL_DOWN_MASK),
// Page Entière
KeyStroke.getKeyStroke(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK),
// Pleine Largeur
KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK),
// Nouvelle Fenêtre
KeyStroke.getKeyStroke(KeyEvent.VK_A, KeyEvent.CTRL_DOWN_MASK),
// Mode Séparé
KeyStroke.getKeyStroke(KeyEvent.VK_Z, KeyEvent.CTRL_DOWN_MASK),
// Mode Synchronisé
KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK),
// Modifier Touches
};
/**
* Crée une nouvelle fenêtre contenant la liste des Raccourcis claviers de l'application ainsi qu'un boutton Raccourcis par défaut qui remet les raccourcis par défaut de l'application
* 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
*/
public RaccourcisClavier() {
super("Modification des raccourcis claviers");
@@ -104,16 +115,20 @@ public class RaccourcisClavier extends JFrame {
affecterRaccourcis();
/* Creation de la fenêtre */
JPanel panel = new JPanel(new GridLayout(raccourcis.size() +1, 1, 10, 5));
JPanel panel = new JPanel(
new GridLayout(raccourcis.size() + 1, 1, 10, 5));
/* Ajout de tout les raccourcis claviers de l'application dans la fenêtre */
/* Ajout de tous les raccourcis claviers de l'application dans la
fenêtre */
for (String nom : LISTE_NOM) {
RaccourcisElement raccourcisElement = new RaccourcisElement(nom, raccourcis.get(nom));
RaccourcisElement raccourcisElement = new RaccourcisElement(nom,
raccourcis.get(
nom));
listeRaccourcisElement.add(raccourcisElement);
panel.add(raccourcisElement);
}
/* Ajout du boutton Reset */
/* Ajout du bouton Reset */
JButton btnReset = new JButton("Raccourcis par défaut");
btnReset.addActionListener(this::actionBtnReset);
panel.add(btnReset);
@@ -126,18 +141,16 @@ public class RaccourcisClavier extends JFrame {
}
/**
* Action lors du clic sur le boutton Reset
* Action lors du clic sur le bouton Reset
* Charge les raccourcis par défaut puis les sauvegarde
* Met a jour l'interface
*
* @param evt écouteur d'évènement
*/
private void actionBtnReset(ActionEvent evt) {
initialisationFichierRaccourcis();
chargerRaccourcis();
// Affichage des boutons
for (int i = 0; i < listeRaccourcisElement.size() ; i++) {
for (int i = 0; i < listeRaccourcisElement.size(); i++) {
String cle = LISTE_NOM[i];
KeyStroke valeur = raccourcis.get(cle);
@@ -192,7 +205,8 @@ public class RaccourcisClavier extends JFrame {
* et la sauvegarde
*/
private static void initialisationFichierRaccourcis() {
for (int i = 0; i < LISTE_NOM.length && i < RACCOURCIS_DEFAUT.length; i++) {
for (int i = 0; i < LISTE_NOM.length && i < RACCOURCIS_DEFAUT.length;
i++) {
raccourcis.put(LISTE_NOM[i], RACCOURCIS_DEFAUT[i]);
}
sauvegarderRaccourcis();
@@ -1,6 +1,6 @@
/*
* RaccourcisElement.java 10/03/2022
* IUT Rodez 2021-2022, INFO 2
* IUT Rodez 2021-2022, INFO2
* Pas de copyright, aucun droits
*/
@@ -15,31 +15,33 @@ import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
/**
* Element de raccourcis qui définit un raccourcis pour une propriété de l'application
* Élément de raccourcis qui définit un raccourci pour une propriété de
* l'application
*
* @author Léo Franch
* @author Lucas Vabre
* @author Noé Villeneuve
* @author Tristan Nogaret
* @author Lucàs Vabre
* @author Noé Villeneuve
*/
public class RaccourcisElement extends JPanel {
/** Le nom du MenuItem */
private final String nom;
/** Le boutton qui contiens en valeur la séquence de touches correspondant au raccourcis du MenuItem de l'application */
/** Le bouton qui contient en valeur la séquence de touches correspondant
* au raccourci du MenuItem de l'application */
private final JButton btnRaccourcis;
/** Le raccourcis clavier */
/** Le raccourci clavier */
private KeyStroke raccourcis;
/**
* Crée un nouveau JPanel conportant une ligne et deux colonnes
* 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 boutton pour éditer le raccourcis clavier
* Dans la seconde colonne on trouve le bouton pour éditer le raccourci clavier
*
* @param nom Le nom du MenuItem ciblé
* @param raccourcis Le raccourcis clavier actuel du MenuItem ciblé
* @param raccourcis Le raccourci clavier actuel du MenuItem ciblé
*/
public RaccourcisElement(String nom, KeyStroke raccourcis) {
super(new GridLayout(1, 2));
@@ -58,7 +60,7 @@ public class RaccourcisElement extends JPanel {
}
/**
* Action lors du clic sur le boutton d'édition du raccourcis
* Action lors du clic sur le bouton d'édition du raccourci
*
* @param evt écouteur d'évènement
*/
@@ -72,7 +74,7 @@ public class RaccourcisElement extends JPanel {
/** 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é precedament */
/** La valeur de la touche pressée précédemment */
private int previousKeyPressed = INDETERMINATE;
@Override
@@ -94,7 +96,8 @@ public class RaccourcisElement extends JPanel {
RaccourcisClavier.sauvegarderRaccourcis();
} else {
final String TITRE_ERREUR = "Erreur raccourcis";
final String MESSAGE_ERREUR = "Le raccourcis que vous venez de réaliser est déja affecté à une autre fonctionnalité";
final String MESSAGE_ERREUR = "Le raccourcis que "
+ "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());
@@ -118,8 +121,9 @@ public class RaccourcisElement extends JPanel {
}
/**
* Methode outils qui permet de convertir la valeur tapée en KeyEvent
* @param maskValue Valeur de masque tapé (controle, shift ou alt)
* Méthode outil qui permet de convertir la valeur tapée en
* KeyEvent
* @param maskValue Valeur de masque tapé (control, shift ou alt)
* @return Le KeyEvent correspondant
*/
private int getMask(int maskValue) {
@@ -131,7 +135,8 @@ public class RaccourcisElement extends JPanel {
}
/**
* Méthode outils qui permet de convertir la valeur tapée en Chaine de caractère
* 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)
* @return La chaine de caractère correspondante
*/
@@ -147,9 +152,9 @@ public class RaccourcisElement extends JPanel {
}
/**
* Convertis un Modifieur en chaine de caractère
* @param modifier valeur du modifieur (Element d'un KeyStroke != KeyEvent)
* @return La chaine de caractère correspondante
* 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
*/
private String modifierToString(int modifier) {
return switch (modifier) {
@@ -160,17 +165,17 @@ public class RaccourcisElement extends JPanel {
}
/**
* Convertis un raccourcis en chaine de caractère
* @param keyStroke Le raccourcis en question
* @return La chaine de caractère construite à partir du raccourcis
* Convertis 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
*/
private String keystrokeToString(KeyStroke keyStroke) {
return modifierToString(keyStroke.getModifiers()) + " + " + keyStroke.toString().split(" ")[2];
}
/**
* Change le raccourcis (visuellement)
* @param raccourcis Nouveau raccourcis
* Change le raccourci (visuellement)
* @param raccourcis nouveau raccourci
*/
public void setRaccourcis(KeyStroke raccourcis) {
this.raccourcis = raccourcis;