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