mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-05-13 17:11:51 +00:00
Ajout de commentaires (Entêtes + TODO)
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* GestionMode.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf;
|
package lecteur_pdf;
|
||||||
|
|
||||||
import lecteur_pdf.menuBar.menuItems.ModeSepare;
|
import lecteur_pdf.menuBar.menuItems.ModeSepare;
|
||||||
@@ -5,6 +11,14 @@ import lecteur_pdf.menuBar.menuItems.ModeSynchronise;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class GestionMode {
|
public class GestionMode {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -14,35 +28,58 @@ public class GestionMode {
|
|||||||
*/
|
*/
|
||||||
private static boolean modeSepare;
|
private static boolean modeSepare;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private static final ArrayList<ModeSepare> modeSepareList = new ArrayList<>();
|
private static final ArrayList<ModeSepare> modeSepareList = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private static final ArrayList<ModeSynchronise> modeSynchroniseList = new ArrayList<>();
|
private static final ArrayList<ModeSynchronise> modeSynchroniseList = new ArrayList<>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param separe
|
||||||
|
* @param synchronise
|
||||||
|
*/
|
||||||
public static void addItem(ModeSepare separe, ModeSynchronise synchronise) {
|
public static void addItem(ModeSepare separe, ModeSynchronise synchronise) {
|
||||||
modeSepareList.add(separe);
|
modeSepareList.add(separe);
|
||||||
modeSynchroniseList.add(synchronise);
|
modeSynchroniseList.add(synchronise);
|
||||||
updateMode();
|
updateMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public static boolean isModeSepare() {
|
public static boolean isModeSepare() {
|
||||||
return modeSepare;
|
return modeSepare;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public static void setModeSepare() {
|
public static void setModeSepare() {
|
||||||
modeSepare = true;
|
modeSepare = true;
|
||||||
updateMode();
|
updateMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public static void setModeSynchronise() {
|
public static void setModeSynchronise() {
|
||||||
modeSepare = false;
|
modeSepare = false;
|
||||||
updateMode();
|
updateMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private static void updateMode() {
|
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);
|
modeSepareList.get(i).setSelected(modeSepare);
|
||||||
modeSynchroniseList.get(i).setSelected(!modeSepare);
|
modeSynchroniseList.get(i).setSelected(!modeSepare);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* GestionPdf.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf;
|
package lecteur_pdf;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -5,10 +11,28 @@ import java.io.IOException;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class GestionPdf {
|
public class GestionPdf {
|
||||||
public static String titreApplication = "LPDA";
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
|
public static final String TITRE_APPLICATION = "LPDA";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public static final int maxPdf = 2;
|
public static final int maxPdf = 2;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public static final List<IhmPdf> ihmPdfList = new ArrayList<>();
|
public static final List<IhmPdf> ihmPdfList = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,14 +68,6 @@ public class GestionPdf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void chargerRaccourcisClaviers() {
|
|
||||||
// TODO changer les raccourcis clavier a partir d'un fichier
|
|
||||||
}
|
|
||||||
|
|
||||||
public void sauvegarderRaccourcisClaviers() {
|
|
||||||
// TODO sauvegarder les raccourcis clavier dans un fichier
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Lance l'application
|
* Lance l'application
|
||||||
* @param args non utilisé
|
* @param args non utilisé
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Ihm, 03/02/2022
|
* IhmPdf, 03/02/2022
|
||||||
* IUT Rodez 2022, INFO2
|
* IUT Rodez 2022, INFO2
|
||||||
* pas de copyright, aucun droits
|
* pas de copyright, aucun droits
|
||||||
*/
|
*/
|
||||||
@@ -16,9 +16,12 @@ import java.awt.event.WindowEvent;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO A compléter
|
* TODO commentaires
|
||||||
*
|
*
|
||||||
* @author lucas
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
*/
|
*/
|
||||||
public class IhmPdf extends JFrame {
|
public class IhmPdf extends JFrame {
|
||||||
|
|
||||||
@@ -30,8 +33,12 @@ public class IhmPdf extends JFrame {
|
|||||||
private boolean fullscreen = false;
|
private boolean fullscreen = false;
|
||||||
private GraphicsDevice device;
|
private GraphicsDevice device;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
public IhmPdf() throws IOException {
|
public IhmPdf() throws IOException {
|
||||||
super(GestionPdf.titreApplication);
|
super(GestionPdf.TITRE_APPLICATION);
|
||||||
|
|
||||||
/* Déclaration des attributs */
|
/* Déclaration des attributs */
|
||||||
menuBar = new MenuBar(this);
|
menuBar = new MenuBar(this);
|
||||||
@@ -55,10 +62,17 @@ public class IhmPdf extends JFrame {
|
|||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public PdfPanel getPdfPanel() {
|
public PdfPanel getPdfPanel() {
|
||||||
return pdfPanel;
|
return pdfPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public void pleinEcran() {
|
public void pleinEcran() {
|
||||||
// Switch de disposition
|
// Switch de disposition
|
||||||
fullscreen = !fullscreen;
|
fullscreen = !fullscreen;
|
||||||
@@ -74,6 +88,9 @@ public class IhmPdf extends JFrame {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public void quitter() {
|
public void quitter() {
|
||||||
pdfPanel.dechargerPdf();
|
pdfPanel.dechargerPdf();
|
||||||
GestionPdf.ihmPdfList.remove(this);
|
GestionPdf.ihmPdfList.remove(this);
|
||||||
|
|||||||
@@ -13,13 +13,16 @@ import java.util.Map;
|
|||||||
/**
|
/**
|
||||||
* Gestionnaire des raccourcis claviers de l'application
|
* Gestionnaire des raccourcis claviers de l'application
|
||||||
*
|
*
|
||||||
* @author Léo Franche
|
* @author Léo Franch
|
||||||
* @author Lucas Vabre
|
* @author Lucas Vabre
|
||||||
* @author Noé Villeneuve
|
* @author Noé Villeneuve
|
||||||
* @author Tristan Nogaret
|
* @author Tristan Nogaret
|
||||||
*/
|
*/
|
||||||
public class RaccourcisClavier {
|
public class RaccourcisClavier {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public static Map<JMenuItem, KeyStroke> gestionnaireRaccourcis = new HashMap<>();
|
public static Map<JMenuItem, KeyStroke> gestionnaireRaccourcis = new HashMap<>();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* MenuBar.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar;
|
package lecteur_pdf.menuBar;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
import lecteur_pdf.menuBar.menu.*;
|
import lecteur_pdf.menuBar.menu.MenuAffichage;
|
||||||
|
import lecteur_pdf.menuBar.menu.MenuFichier;
|
||||||
|
import lecteur_pdf.menuBar.menu.MenuMode;
|
||||||
|
import lecteur_pdf.menuBar.menu.MenuOptions;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class MenuBar extends JMenuBar {
|
public class MenuBar extends JMenuBar {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public MenuBar(IhmPdf parent) {
|
public MenuBar(IhmPdf parent) {
|
||||||
|
|
||||||
add(new MenuFichier(parent));
|
add(new MenuFichier(parent));
|
||||||
add(new MenuAffichage(parent));
|
add(new MenuAffichage(parent));
|
||||||
add(new MenuMode(parent));
|
add(new MenuMode(parent));
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* MenuOptions.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menu;
|
package lecteur_pdf.menuBar.menu;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
@@ -5,10 +11,23 @@ import lecteur_pdf.menuBar.menuItems.*;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Element de la barre des menus contenant l'intégralités des Options de l'application
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class MenuOptions extends JMenu {
|
public class MenuOptions extends JMenu {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Crée une nouvelle instance du menu Option
|
||||||
|
*
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
||||||
|
*/
|
||||||
public MenuOptions(IhmPdf parent) {
|
public MenuOptions(IhmPdf parent) {
|
||||||
super("Options");
|
super("Options");
|
||||||
// Ajoute les menu items
|
|
||||||
add(new ModifierTouches(parent));
|
add(new ModifierTouches(parent));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* FermerFichier.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionPdf;
|
||||||
@@ -5,17 +11,32 @@ import lecteur_pdf.IhmPdf;
|
|||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class FermerFichier extends MenuItem {
|
public class FermerFichier extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
|
*/
|
||||||
public FermerFichier(IhmPdf parent) {
|
public FermerFichier(IhmPdf parent) {
|
||||||
super(parent, "Fermer");
|
super(parent, "Fermer");
|
||||||
|
|
||||||
|
/* Action du bouton */
|
||||||
addActionListener(e -> {
|
addActionListener(e -> {
|
||||||
parent.getPdfPanel().dechargerPdf();
|
parent.getPdfPanel().dechargerPdf();
|
||||||
parent.setTitle(GestionPdf.titreApplication);
|
parent.setTitle(GestionPdf.TITRE_APPLICATION);
|
||||||
parent.pack();
|
parent.pack();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* TODO Définition du raccourcis clavier a modifier */
|
||||||
setRaccourcis(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK);
|
setRaccourcis(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* MenuItem.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
@@ -5,22 +11,51 @@ import lecteur_pdf.RaccourcisClavier;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class MenuItem extends JMenuItem {
|
public class MenuItem extends JMenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
IhmPdf parent;
|
IhmPdf parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
public MenuItem(IhmPdf parent, String name) {
|
public MenuItem(IhmPdf parent, String name) {
|
||||||
super(name);
|
super(name);
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
*/
|
||||||
public void setRaccourcis(int key) {
|
public void setRaccourcis(int key) {
|
||||||
KeyStroke raccourcis = KeyStroke.getKeyStroke((char)key);
|
KeyStroke raccourcis = KeyStroke.getKeyStroke((char) key);
|
||||||
setAccelerator(raccourcis);
|
setAccelerator(raccourcis);
|
||||||
|
|
||||||
RaccourcisClavier.gestionnaireRaccourcis.put(this, raccourcis);
|
RaccourcisClavier.gestionnaireRaccourcis.put(this, raccourcis);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param key
|
||||||
|
* @param mask
|
||||||
|
*/
|
||||||
public void setRaccourcis(int key, int mask) {
|
public void setRaccourcis(int key, int mask) {
|
||||||
KeyStroke raccourcis = KeyStroke.getKeyStroke(key, mask);
|
KeyStroke raccourcis = KeyStroke.getKeyStroke(key, mask);
|
||||||
setAccelerator(raccourcis);
|
setAccelerator(raccourcis);
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* ModeSepare.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
@@ -5,10 +11,25 @@ import lecteur_pdf.IhmPdf;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ModeSepare extends JRadioButtonMenuItem {
|
public class ModeSepare extends JRadioButtonMenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
IhmPdf parent;
|
IhmPdf parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
|
*/
|
||||||
public ModeSepare(IhmPdf parent) {
|
public ModeSepare(IhmPdf parent) {
|
||||||
super("Mode Séparé");
|
super("Mode Séparé");
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* ModeSynchronise.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
@@ -5,10 +11,25 @@ import lecteur_pdf.IhmPdf;
|
|||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ModeSynchronise extends JRadioButtonMenuItem {
|
public class ModeSynchronise extends JRadioButtonMenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
IhmPdf parent;
|
IhmPdf parent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
|
*/
|
||||||
public ModeSynchronise(IhmPdf parent) {
|
public ModeSynchronise(IhmPdf parent) {
|
||||||
super("Mode Synchronisé");
|
super("Mode Synchronisé");
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
|
|||||||
@@ -1,9 +1,27 @@
|
|||||||
|
/*
|
||||||
|
* ModifierTouches.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ModifierTouches extends MenuItem {
|
public class ModifierTouches extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
|
*/
|
||||||
public ModifierTouches(IhmPdf parent) {
|
public ModifierTouches(IhmPdf parent) {
|
||||||
super(parent, "Modifier Touches");
|
super(parent, "Modifier Touches");
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* NouvelleFenetre.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionPdf;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class NouvelleFenetre extends MenuItem {
|
public class NouvelleFenetre extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public NouvelleFenetre(IhmPdf parent) {
|
public NouvelleFenetre(IhmPdf parent) {
|
||||||
super(parent, "Nouvelle Fenêtre");
|
super(parent, "Nouvelle Fenêtre");
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* OuvrirFichier.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
@@ -6,20 +12,31 @@ import lecteur_pdf.SelectionnerFichier;
|
|||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class OuvrirFichier extends MenuItem {
|
public class OuvrirFichier extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public OuvrirFichier(IhmPdf parent) {
|
public OuvrirFichier(IhmPdf parent) {
|
||||||
super(parent, "Ouvrir");
|
super(parent, "Ouvrir");
|
||||||
|
|
||||||
addActionListener(e -> {
|
addActionListener(e -> {
|
||||||
File fichier = SelectionnerFichier.ouvrirFichier();
|
File fichier = SelectionnerFichier.ouvrirFichier();
|
||||||
if (fichier != null) {
|
if (fichier != null && parent.getPdfPanel().chargerPdf(fichier)) {
|
||||||
if (parent.getPdfPanel().chargerPdf(fichier)) {
|
parent.setTitle(fichier.getName());
|
||||||
parent.setTitle(fichier.getName());
|
parent.pack();
|
||||||
parent.pack();
|
} else {
|
||||||
} else {
|
// TODO Erreur fichier n'as pas pu etre chargé
|
||||||
// TODO Erreur fichier n'as pas pu etre chargé
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* PagePrecedente.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionPdf;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class PagePrecedente extends MenuItem {
|
public class PagePrecedente extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public PagePrecedente(IhmPdf parent) {
|
public PagePrecedente(IhmPdf parent) {
|
||||||
super(parent,"Page précédente");
|
super(parent, "Page précédente");
|
||||||
|
|
||||||
addActionListener(e -> {
|
addActionListener(e -> {
|
||||||
if (GestionMode.isModeSepare()) {
|
if (GestionMode.isModeSepare()) {
|
||||||
|
|||||||
@@ -1,13 +1,31 @@
|
|||||||
|
/*
|
||||||
|
* PageSuivante.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionPdf;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class PageSuivante extends MenuItem {
|
public class PageSuivante extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public PageSuivante(IhmPdf parent) {
|
public PageSuivante(IhmPdf parent) {
|
||||||
super(parent,"Page suivante");
|
super(parent, "Page suivante");
|
||||||
|
|
||||||
addActionListener(e -> {
|
addActionListener(e -> {
|
||||||
if (GestionMode.isModeSepare()) {
|
if (GestionMode.isModeSepare()) {
|
||||||
|
|||||||
@@ -1,15 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* PleinEcran.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class PleinEcran extends MenuItem {
|
public class PleinEcran extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public PleinEcran(IhmPdf parent) {
|
public PleinEcran(IhmPdf parent) {
|
||||||
super(parent, "Mode Plein Ecran");
|
super(parent, "Mode Plein Ecran");
|
||||||
|
|
||||||
addActionListener(e -> {parent.pleinEcran();});
|
addActionListener(e -> {
|
||||||
|
parent.pleinEcran();
|
||||||
|
});
|
||||||
|
|
||||||
setRaccourcis(KeyEvent.VK_F11);
|
setRaccourcis(KeyEvent.VK_F11);
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Quitter.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class Quitter extends MenuItem {
|
public class Quitter extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public Quitter(IhmPdf parent) {
|
public Quitter(IhmPdf parent) {
|
||||||
super(parent, "Quitter");
|
super(parent, "Quitter");
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* ZoomDefaut.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ZoomDefaut extends MenuItem {
|
public class ZoomDefaut extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public ZoomDefaut(IhmPdf parent) {
|
public ZoomDefaut(IhmPdf parent) {
|
||||||
super(parent, "Zoom 100%");
|
super(parent, "Zoom 100%");
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* ZoomMoins.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ZoomMoins extends MenuItem {
|
public class ZoomMoins extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public ZoomMoins(IhmPdf parent) {
|
public ZoomMoins(IhmPdf parent) {
|
||||||
super(parent, "Zoom 50%");
|
super(parent, "Zoom 50%");
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* ZoomPlus.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.IhmPdf;
|
||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class ZoomPlus extends MenuItem {
|
public class ZoomPlus extends MenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param parent
|
||||||
|
*/
|
||||||
public ZoomPlus(IhmPdf parent) {
|
public ZoomPlus(IhmPdf parent) {
|
||||||
super(parent, "Zoom 150%");
|
super(parent, "Zoom 150%");
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* PdfLoader.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.pdf;
|
package lecteur_pdf.pdf;
|
||||||
|
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
@@ -7,19 +13,54 @@ import java.awt.image.BufferedImage;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class PdfLoader {
|
public class PdfLoader {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
PDDocument document;
|
PDDocument document;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
PDFRenderer renderer;
|
PDFRenderer renderer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
public PdfLoader(File file) throws IOException {
|
public PdfLoader(File file) throws IOException {
|
||||||
document = PDDocument.load(file);
|
document = PDDocument.load(file);
|
||||||
renderer = new PDFRenderer(document);
|
renderer = new PDFRenderer(document);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
public int getNbPages() {
|
public int getNbPages() {
|
||||||
return document.getNumberOfPages();
|
return document.getNumberOfPages();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param pageIndex
|
||||||
|
* @param scale
|
||||||
|
* @return
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
public BufferedImage renderPage(int pageIndex, float scale) throws IOException {
|
public BufferedImage renderPage(int pageIndex, float scale) throws IOException {
|
||||||
if (pageIndex < 0 || pageIndex >= this.getNbPages()) {
|
if (pageIndex < 0 || pageIndex >= this.getNbPages()) {
|
||||||
throw new IllegalArgumentException();
|
throw new IllegalArgumentException();
|
||||||
@@ -27,17 +68,26 @@ public class PdfLoader {
|
|||||||
return renderer.renderImage(pageIndex, scale);
|
return renderer.renderImage(pageIndex, scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public void close() {
|
public void close() {
|
||||||
try {
|
try {
|
||||||
renderer = null;
|
renderer = null;
|
||||||
document.close();
|
document.close();
|
||||||
} catch(IOException ignored) {}
|
} catch (IOException ignored) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @param file
|
||||||
|
*/
|
||||||
public void load(File file) {
|
public void load(File file) {
|
||||||
try {
|
try {
|
||||||
document = PDDocument.load(file);
|
document = PDDocument.load(file);
|
||||||
} catch (IOException ignored) {}
|
} catch (IOException ignored) {
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
/*
|
||||||
|
* PdfPanel.java, 26/02/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
package lecteur_pdf.pdf;
|
package lecteur_pdf.pdf;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
@@ -8,10 +14,28 @@ import java.awt.*;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO commentaires
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
public class PdfPanel extends JPanel {
|
public class PdfPanel extends JPanel {
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private int currentPage;
|
private int currentPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private float currentScale;
|
private float currentScale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
private PdfLoader pdfLoader;
|
private PdfLoader pdfLoader;
|
||||||
|
|
||||||
private JButton suivantButton;
|
private JButton suivantButton;
|
||||||
@@ -22,6 +46,9 @@ public class PdfPanel extends JPanel {
|
|||||||
private JScrollPane scrollPane;
|
private JScrollPane scrollPane;
|
||||||
private JTextField indexPage;
|
private JTextField indexPage;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public PdfPanel() {
|
public PdfPanel() {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
@@ -92,10 +119,17 @@ public class PdfPanel extends JPanel {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
* @param pdfLoader
|
||||||
|
*/
|
||||||
public void setPdfLoader(PdfLoader pdfLoader) {
|
public void setPdfLoader(PdfLoader pdfLoader) {
|
||||||
this.pdfLoader = pdfLoader;
|
this.pdfLoader = pdfLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public void dechargerPdf() {
|
public void dechargerPdf() {
|
||||||
if (pdfLoader == null) {
|
if (pdfLoader == null) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user