mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-07-09 12:47:45 +00:00
javadoc
This commit is contained in:
@@ -15,20 +15,25 @@ import lecteur_pdf.menuBar.menu.MenuOptions;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Barre de menu contenant l'ensemble des menus de l'application
|
||||
* Barre de menu contenant l'ensemble des {@link lecteur_pdf.menuBar.menu
|
||||
* menu} de l'application
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see JMenuBar
|
||||
*/
|
||||
public class MenuBar extends JMenuBar {
|
||||
|
||||
/**
|
||||
* Créé une nouvelle barre de menu avec l'ensemble des menus de
|
||||
* Créé une nouvelle barre de menu avec l'ensemble des
|
||||
* {@link lecteur_pdf.menuBar.menu menu} de
|
||||
* l'application
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public MenuBar(Fenetre parent) {
|
||||
add(new MenuFichier(parent));
|
||||
|
||||
@@ -12,8 +12,8 @@ import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Classe abstraite qui défini les éléments de
|
||||
* {@link lecteur_pdf.menuBar.menu menu}
|
||||
* Classe abstraite qui défini les
|
||||
* {@link lecteur_pdf.menuBar.menuItems menuItems}
|
||||
* qui nécessitent d'accéder à leur {@link Fenetre fenêtre} parente
|
||||
*
|
||||
* @author Léo Franch
|
||||
|
||||
@@ -27,10 +27,12 @@ import lecteur_pdf.GestionMode;
|
||||
public class PagePrecedente extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu PagePrecedente
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce
|
||||
* MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public PagePrecedente(Fenetre parent) {
|
||||
super(parent, "Page précédente");
|
||||
|
||||
@@ -11,21 +11,27 @@ import lecteur_pdf.GestionFenetre;
|
||||
import lecteur_pdf.GestionMode;
|
||||
|
||||
/**
|
||||
* Élément de Menu Page Suivante qui permet d'afficher la page suivante du
|
||||
* document courant (ou les pages suivantes si le mode Synchronisé est activé)
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet d'afficher la page suivante du document courant (ou les pages
|
||||
* suivantes si le
|
||||
* {@link lecteur_pdf.menuBar.menuItems.ModeSynchronise mode Synchronisé} est
|
||||
* activé)
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class PageSuivante extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel Élément de Menu "Page Suivante"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce
|
||||
* MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public PageSuivante(Fenetre parent) {
|
||||
super(parent, "Page suivante");
|
||||
|
||||
@@ -9,7 +9,9 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.Fenetre;
|
||||
|
||||
/**
|
||||
* Élément de Menu PleinEcran qui permet d'afficher la page la fenêtre courante en plein écran
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet d'afficher la page de la {@link Fenetre fenêtre} courante en
|
||||
* plein écran
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
@@ -19,9 +21,12 @@ import lecteur_pdf.Fenetre;
|
||||
public class PleinEcran extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu PleinEcran
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public PleinEcran(Fenetre parent) {
|
||||
super(parent, "Mode Plein Écran");
|
||||
|
||||
@@ -9,23 +9,27 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.Fenetre;
|
||||
|
||||
/**
|
||||
* Élément de Menu Pleine Largeur qui permet d'afficher le document courant
|
||||
* de manière bord à bord (la taille horizontale du document coincide avec
|
||||
* celle de la fenêtre)
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet d'afficher le document courant de manière bord à bord (la
|
||||
* taille horizontale du document coincide avec celle de la
|
||||
* {@link Fenetre fenêtre})
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class PleineLargeur extends MenuItem {
|
||||
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu "Pleine Largeur"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce
|
||||
* MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public PleineLargeur(Fenetre parent) {
|
||||
super(parent, "Pleine Largeur");
|
||||
|
||||
@@ -12,20 +12,25 @@ import lecteur_pdf.Popup;
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* Élément de Menu Quitter qui permet de fermer la fenêtre courante, ferme
|
||||
* l'application s'il s'agit de la dernière fenêtre fermée
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuFichier MenuFichier} qui
|
||||
* permet de fermer la {@link Fenetre fenêtre} courante et ferme
|
||||
* l'application s'il s'agit de la dernière {@link Fenetre fenêtre} fermée
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class Quitter extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu "Quitter"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuFichier MenuFichier}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public Quitter(Fenetre parent) {
|
||||
super(parent, "Quitter");
|
||||
@@ -34,7 +39,11 @@ public class Quitter extends MenuItem {
|
||||
@Override
|
||||
protected void action() {
|
||||
final String TITRE = "Quitter";
|
||||
final String MESSAGE = "Êtes-vous sûr de vouloir quitter l'application ?";
|
||||
if (Popup.OuiNonPopup(parent, TITRE, MESSAGE) == JOptionPane.YES_OPTION) parent.quitter();
|
||||
final String MESSAGE
|
||||
= "Êtes-vous sûr de vouloir quitter l'application ?";
|
||||
if (Popup.OuiNonPopup(parent, TITRE, MESSAGE)
|
||||
== JOptionPane.YES_OPTION) {
|
||||
parent.quitter();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,19 +9,24 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.Fenetre;
|
||||
|
||||
/**
|
||||
* Élément de Menu Zoom 100% qui permet de mettre le Zoom par défaut
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet de mettre le zoom par défaut
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class ZoomDefaut extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu "Zoom 100%"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public ZoomDefaut(Fenetre parent) {
|
||||
super(parent, "Zoom 100%");
|
||||
|
||||
@@ -9,19 +9,24 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.Fenetre;
|
||||
|
||||
/**
|
||||
* Élément de Menu Zoom 50% qui permet de dézoomer
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet de dézoomer
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class ZoomMoins extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu "Zoom 50%"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public ZoomMoins(Fenetre parent) {
|
||||
super(parent, "Zoom 50%");
|
||||
|
||||
@@ -9,19 +9,24 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.Fenetre;
|
||||
|
||||
/**
|
||||
* Élément de Menu Zoom 150% qui permet de zoomer
|
||||
* Élément de {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
* qui permet de zoomer
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see MenuItem
|
||||
*/
|
||||
public class ZoomPlus extends MenuItem {
|
||||
|
||||
/**
|
||||
* Créé un nouvel élément de Menu "Zoom 150%"
|
||||
* Créé un nouvel élément de
|
||||
* {@link lecteur_pdf.menuBar.menu.MenuAffichage MenuAffichage}
|
||||
*
|
||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||
* @param parent Référence de la {@link Fenetre fenêtre} qui possède
|
||||
* l'instance de ce
|
||||
* {@link lecteur_pdf.menuBar.menuItems.MenuItem MenuItem}
|
||||
*/
|
||||
public ZoomPlus(Fenetre parent) {
|
||||
super(parent, "Zoom 150%");
|
||||
|
||||
@@ -14,29 +14,44 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Classe qui représente un document PDF ouvert, elle permet de créer des images des pages
|
||||
* Classe qui représente un document PDF ouvert, elle permet de créer des
|
||||
* images des pages
|
||||
*
|
||||
* @author Léo Franch
|
||||
* @author Tristan Nogaret
|
||||
* @author Lucàs Vabre
|
||||
* @author Noé Villeneuve
|
||||
* @see org.apache.pdfbox.pdmodel.PDDocument
|
||||
* @see org.apache.pdfbox.rendering.PDFRenderer
|
||||
* @see java.awt.image.BufferedImage
|
||||
*/
|
||||
public class DocumentPdf {
|
||||
|
||||
/** Le document PDF chargé avec PdfBox */
|
||||
/**
|
||||
* Le {@link org.apache.pdfbox.pdmodel.PDDocument document PDF} chargé
|
||||
* avec PdfBox
|
||||
*/
|
||||
private final PDDocument document;
|
||||
|
||||
/** L'outil de rendus de PdfBox */
|
||||
/**
|
||||
* L'outil de {@link org.apache.pdfbox.rendering.PDFRenderer rendus} de
|
||||
* PdfBox
|
||||
*/
|
||||
private PDFRenderer renderer;
|
||||
|
||||
/** La largeur par défaut de la page courante */
|
||||
/**
|
||||
* La largeur par défaut de la page courante
|
||||
*/
|
||||
private int minWidth;
|
||||
|
||||
/** La longueur par défaut de la page courante */
|
||||
/**
|
||||
* La longueur par défaut de la page courante
|
||||
*/
|
||||
private int minHeight;
|
||||
|
||||
/**
|
||||
* Charge un nouveau document PDF
|
||||
* Charge un nouveau
|
||||
* {@link org.apache.pdfbox.pdmodel.PDDocument document PDF}
|
||||
*
|
||||
* @param file Le fichier PDF à charger
|
||||
* @throws IOException Si le document passé en argument est illisible
|
||||
@@ -48,34 +63,44 @@ public class DocumentPdf {
|
||||
minHeight = -1;
|
||||
}
|
||||
|
||||
/** @return La largeur par défaut de la page courante */
|
||||
/**
|
||||
* @return La largeur par défaut de la page courante
|
||||
*/
|
||||
public int getMinWidth() {
|
||||
return minWidth;
|
||||
}
|
||||
|
||||
/** @return La longueur par défaut de la page courante */
|
||||
/**
|
||||
* @return La longueur par défaut de la page courante
|
||||
*/
|
||||
public int getMinHeight() {
|
||||
return minHeight;
|
||||
}
|
||||
|
||||
/** @return Le nombre de pages du document */
|
||||
/**
|
||||
* @return Le nombre de pages du document
|
||||
*/
|
||||
public int getNbPages() {
|
||||
return document.getNumberOfPages();
|
||||
}
|
||||
|
||||
/**
|
||||
* Créé une image de la page voulue
|
||||
* Créé une {@link java.awt.image.BufferedImage image} de la page voulue
|
||||
*
|
||||
* @param pageIndex Numéro de la page désirée (compris entre 0 et le
|
||||
* nombre maximal de pages)
|
||||
* @param scale Taille de la page (La qualité de l'image est amélioré
|
||||
* suivant cette valeur)
|
||||
* @return Une image de la page demandée
|
||||
* @throws IOException Si l'image de rendu n'as pas pu être créée
|
||||
* @return Une {@link java.awt.image.BufferedImage image} de la page
|
||||
* demandée
|
||||
* @throws IOException Si l'image de rendu n'as pas pu être
|
||||
* créée
|
||||
* @throws IllegalArgumentException Si le numero de page est invalide
|
||||
* (n'est pas compris entre 0 et le nombre maximal de pages)
|
||||
* (n'est pas compris entre 0 et le
|
||||
* nombre maximal de pages)
|
||||
*/
|
||||
public BufferedImage renderPage(int pageIndex, float scale) throws IOException {
|
||||
public BufferedImage renderPage(int pageIndex, float scale) throws
|
||||
IOException {
|
||||
if (pageIndex < 0 || pageIndex >= this.getNbPages()) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
@@ -99,6 +124,7 @@ public class DocumentPdf {
|
||||
document.close();
|
||||
minWidth = -1;
|
||||
minHeight = -1;
|
||||
} catch (IOException ignored) {}
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user