Ajout commentaires et refactor

This commit is contained in:
LucasV-IUT
2022-03-09 22:35:44 +01:00
parent dd7a7aa796
commit 24b95c1264
26 changed files with 229 additions and 191 deletions
+2 -1
View File
@@ -122,7 +122,8 @@ public class Fenetre extends JFrame {
/* Si la liste des fenêtres n'est pas pleine alors on réactive le
bouton pour créer une nouvelle fenêtre */
if (GestionFenetre.FENETRE_LIST.size() < GestionFenetre.NB_MAX_PDF) GestionMode.activerBtnNouvelleFenetre();
if (GestionFenetre.FENETRE_LIST.size() < GestionFenetre.NB_MAX_PDF)
GestionMode.activerBtnNouvelleFenetre();
/* S'il n'y a plus de fenêtres ouvertes on quitte l'application */
if (GestionFenetre.FENETRE_LIST.size() == 0) System.exit(0);
+2 -6
View File
@@ -51,9 +51,7 @@ public class GestionFenetre {
* (mode Synchronisé)
*/
public static void nextPages() {
for (Fenetre ihm : FENETRE_LIST) {
ihm.getPdfPanel().nextPage();
}
for (Fenetre ihm : FENETRE_LIST) ihm.getPdfPanel().nextPage();
}
/**
@@ -61,9 +59,7 @@ public class GestionFenetre {
* (mode Synchronisé)
*/
public static void previousPages() {
for (Fenetre ihm : FENETRE_LIST) {
ihm.getPdfPanel().previousPage();
}
for (Fenetre ihm : FENETRE_LIST) ihm.getPdfPanel().previousPage();
}
/**
+16 -4
View File
@@ -10,7 +10,7 @@ import javax.swing.*;
import java.awt.*;
/**
* TODO
* Classe outils permettant de creer des fenêtre Popups
*
* @author Léo Franch
* @author Lucas Vabre
@@ -19,6 +19,14 @@ import java.awt.*;
*/
public class Popup {
/**
* Crée une nouvelle fenêtre comportant un message et deux bouttons : Oui et Non
*
* @param parent La fenêtre parente de référence
* @param titre Titre de la fenêtre
* @param message Message affiché dans la fenêtre
* @return JOptionPane.YES_OPTION si oui est cliqué, JOptionPane.NO_OPTION si non est cliqué
*/
public static int OuiNonPopup(Component parent, String titre, String message) {
JOptionPane d = new JOptionPane();
String[] choix = {"Oui", "Non"};
@@ -26,12 +34,16 @@ public class Popup {
null, choix, choix[0]);
}
/**
* Crée une nouvelle fenêtre comportant un message d'erreur avec un boutton OK
*
* @param parent La fenêtre parente de référence
* @param titre Titre de la fenêtre
* @param message Message d'erreur
*/
public static void errorPopup(Component parent, String titre, String message) {
JOptionPane d = new JOptionPane();
String[] choix = {"OK"};
JOptionPane.showOptionDialog(parent, message, titre, JOptionPane.YES_NO_OPTION, JOptionPane.ERROR_MESSAGE, null, choix, choix[0]);
}
}
+23 -10
View File
@@ -18,25 +18,37 @@ import java.io.File;
* @author Tristan NOGARET
* @author Lucàs VABRE
* @author Noé VILLENEUVE
* @version 1.0
*/
public class SelectionnerFichier {
/** Le titre de la fenêtre */
private static final String TITRE = "Sélectionnez un PDF";
/** Description du filtre */
private static final String DESCRIPTION = "PDF files (*.pdf)";
/** Extension de fichier filtré */
private static final String EXTENSION = "pdf";
/** Valeur du boutton OK */
private static final String BOUTON_OK = "Ouvrir";
/** Valeur du boutton Annuler */
private static final String BOUTON_ANNULER = "Annuler";
/** indice au survol du boutton Ok */
private static final String INDICE_BOUTON_OK = "Ouvre le fichier sélectionné";
/** Indice au survol du boutton Annuler */
private static final String INDICE_BOUTON_ANNULER = "Annule la sélection";
/**
* Méthode qui créée une fenêtre pour que l'utilisateur choisisse un fichier PDF
*
* @return le fichier choisi par l'utilisateur
* @return le fichier choisi par l'utilisateur, null si aucun fichier n'est choisis
*/
public static File ouvrirFichier(JFrame parent) {
final String TITRE = "Sélectionnez un PDF";
final String DESCRIPTION = "PDF files (*.pdf)";
final String EXTENSION = "pdf";
final String BOUTON_OK = "Ouvrir";
final String BOUTON_ANNULER = "Annuler";
final String INDICE_BOUTON_OK = "Ouvre le fichier sélectionné";
final String INDICE_BOUTON_ANNULER = "Annule la sélection";
/* Crée une fenêtre de sélection de fichier */
JFileChooser fileChooser = new JFileChooser(
FileSystemView.getFileSystemView().getDefaultDirectory());
@@ -67,6 +79,7 @@ public class SelectionnerFichier {
return new File(fileChooser.getSelectedFile().getAbsolutePath());
}
/* Renvoie null si le fichier n'est pas trouvé */
return null;
}
}
+7 -2
View File
@@ -15,7 +15,7 @@ import lecteur_pdf.menuBar.menu.MenuOptions;
import javax.swing.*;
/**
* TODO commentaires
* Barre de menu contenant l'ensemble des menus de l'application
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,7 +23,12 @@ import javax.swing.*;
* @author Tristan Nogaret
*/
public class MenuBar extends JMenuBar {
/**
* Crée une nouvelle barre de menu avec l'ensemble des menu de l'application
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public MenuBar(Fenetre parent) {
add(new MenuFichier(parent));
add(new MenuAffichage(parent));
@@ -49,5 +49,4 @@ public class MenuAffichage extends JMenu {
add(new PageEntiere(parent));
add(new PleineLargeur(parent));
}
}
@@ -30,7 +30,6 @@ public class MenuMode extends JMenu {
*
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
*/
@SuppressWarnings("GrazieInspection")
public MenuMode(Fenetre parent) {
super("Mode");
@@ -13,7 +13,7 @@ import javax.swing.*;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Fermer qui permet de fermer le document PDF courrant
*
* @author Léo Franch
* @author Lucas Vabre
@@ -22,6 +22,12 @@ import java.awt.event.ActionEvent;
*/
public class FermerFichier extends MenuItem {
/** Titre de la popup lors de la fermeture d'un document */
public static final String TITRE = "Fermeture du document";
/** Message de la Popup lors de la fermeture d'un document */
public static final String MESSAGE = "Êtes-vous sûr de vouloir fermer le document ?";
/**
* Crée un nouvel Element de Menu "Fermer"
*
@@ -34,10 +40,8 @@ public class FermerFichier extends MenuItem {
@Override
protected void action(ActionEvent evt) {
if (parent.getPdfPanel().isCharge()) {
String TITRE = "Fermeture du document";
String MESSAGE = "Êtes-vous sûr de vouloir fermer le document ?";
if (Popup.OuiNonPopup(parent, TITRE, MESSAGE) == JOptionPane.YES_OPTION) parent.fermerPdf();
int resultatPopup = Popup.OuiNonPopup(parent, TITRE, MESSAGE);
if (resultatPopup == JOptionPane.YES_OPTION) parent.fermerPdf();
}
}
}
@@ -22,10 +22,8 @@ import java.awt.event.ActionEvent;
*/
public abstract class MenuItem extends JMenuItem {
/**
* Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
Fenetre parent;
/** Référence de la fenêtre qui possède l'instance de ce MenuItem */
final Fenetre parent;
/**
* Crée un nouvel Element de Menu avec un nom, une action et se référence dans la liste des raccourcis claviers
@@ -12,7 +12,7 @@ import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
import javax.swing.*;
/**
* TODO commentaires
* Element de Menu Mode Séparé qui permet d'activer le défilement des pages de documents en séparé
*
* @author Léo Franch
* @author Lucas Vabre
@@ -22,7 +22,7 @@ import javax.swing.*;
public class ModeSepare extends JRadioButtonMenuItem {
/**
* TODO
* Crée un nouvel Element de Menu "Mode Séparé"
*/
public ModeSepare() {
super("Mode Séparé");
@@ -12,7 +12,7 @@ import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
import javax.swing.*;
/**
* TODO commentaires
* Element de Menu Mode Synchronisé qui permet d'activer le défilement des pages de documents en simultané
*
* @author Léo Franch
* @author Lucas Vabre
@@ -22,7 +22,7 @@ import javax.swing.*;
public class ModeSynchronise extends JRadioButtonMenuItem {
/**
* TODO
* Crée un nouvel Element de Menu "Mode Synchronisé"
*/
public ModeSynchronise() {
super("Mode Synchronisé");
@@ -12,7 +12,7 @@ import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Modifier Touches qui permet d'ouvrir une fenêtre pour modifier les raccourcis claviers de l'application
*
* @author Léo Franch
* @author Lucas Vabre
@@ -22,7 +22,8 @@ import java.awt.event.ActionEvent;
public class ModifierTouches extends MenuItem {
/**
* TODO
* Crée un nouvel Element de Menu "Modifier Touches"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ModifierTouches(Fenetre parent) {
@@ -13,7 +13,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Nouvelle Fenetre qui permet d'ouvrir une autre fenêtre (pouvant contenir un PDF) si le nombre maximal de fenêtre n'est pas atteint
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,8 +23,9 @@ import java.awt.event.ActionEvent;
public class NouvelleFenetre extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Nouvelle Fenêtre"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public NouvelleFenetre(Fenetre parent) {
super(parent, "Nouvelle Fenêtre");
@@ -10,11 +10,12 @@ import lecteur_pdf.Fenetre;
import lecteur_pdf.Popup;
import lecteur_pdf.SelectionnerFichier;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.io.File;
/**
* TODO commentaires
* Element de Menu Ouvrir Fichier qui permet d'ouvrir un document
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,37 +24,43 @@ import java.io.File;
*/
public class OuvrirFichier extends MenuItem {
/** Titre de la popup d'erreur lors d'une erreur d'ouverture de fichier */
public static final String TITRE_ERREUR = "Erreur";
/** Message de la popup d'erreur lors d'une erreur d'ouverture de fichier */
public static final String MESSAGE_ERREUR = "Erreur : Le document n'as pas pu être chargé";
/**
* TODO
* Crée un nouvel Element de Menu "Ouvrir Fichier"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public OuvrirFichier(Fenetre parent) {
super(parent, "Ouvrir");
// setRaccourcis(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK);
}
@Override
protected void action(ActionEvent evt) {
/* On charge le fichier si c'est possible */
File fichier = SelectionnerFichier.ouvrirFichier(parent);
if (fichier == null) {
return;
}
int valide = parent.getPdfPanel().isCharge()
? Popup.OuiNonPopup(parent, FermerFichier.TITRE, FermerFichier.MESSAGE)
: JOptionPane.YES_OPTION;
/* S'il y a deja un fichier d'ouvert, on le ferme */
parent.getPdfPanel().dechargerPdf();
parent.setTitle(Fenetre.TITRE);
parent.pack();
if (valide == JOptionPane.YES_OPTION) {
/* On charge le fichier si c'est possible */
File fichier = SelectionnerFichier.ouvrirFichier(parent);
if (parent.getPdfPanel().chargerPdf(fichier)) {
parent.setTitle(Fenetre.TITRE + " - " + fichier.getName());
parent.pack();
} else {
final String TITRE = "Erreur";
final String MESSAGE = "Erreur : Le document n'as pas pu être chargé";
Popup.errorPopup(parent, TITRE, MESSAGE);
if (fichier != null) {
/* S'il y a deja un fichier d'ouvert, on le ferme */
parent.getPdfPanel().dechargerPdf();
parent.setTitle(Fenetre.TITRE);
parent.pack();
if (parent.getPdfPanel().chargerPdf(fichier)) {
parent.setTitle(Fenetre.TITRE + " - " + fichier.getName());
parent.pack();
} else Popup.errorPopup(parent, TITRE_ERREUR, MESSAGE_ERREUR);
}
}
}
}
@@ -1,12 +1,27 @@
/*
* PageEntiere.java, 09/03/2022
* IUT Rodez 2021-2022, INFO 2
* pas de copyright, aucun droits
*/
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* Element de Menu Page Entière qui permet d'afficher l'intégralité du document courrant verticalement
*
* @author Léo Franch
* @author Lucas Vabre
* @author Noé Villeneuve
* @author Tristan Nogaret
*/
public class PageEntiere extends MenuItem {
/**
* TODO
* Crée un nouvel Element de Menu "Page Entiere"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public PageEntiere(Fenetre parent) {
@@ -13,7 +13,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Page Precedente qui permet d'afficher la page précédente du document courrant (ou les pages précédentes si le mode Synchronisé est activé)
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,8 +23,9 @@ import java.awt.event.ActionEvent;
public class PagePrecedente extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Page Précédente"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public PagePrecedente(Fenetre parent) {
super(parent, "Page précédente");
@@ -13,7 +13,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Page Suivante qui permet d'afficher la page suivante du document courrant (ou les pages suivantes si le mode Synchronisé est activé)
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,8 +23,9 @@ import java.awt.event.ActionEvent;
public class PageSuivante extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Page Suivante"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public PageSuivante(Fenetre parent) {
super(parent, "Page suivante");
@@ -11,7 +11,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Plein Ecran qui permet d'afficher la page la fenêtre courrante en plein écran
*
* @author Léo Franch
* @author Lucas Vabre
@@ -21,8 +21,9 @@ import java.awt.event.ActionEvent;
public class PleinEcran extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Plein Ecran"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public PleinEcran(Fenetre parent) {
super(parent, "Mode Plein Écran");
@@ -1,14 +1,29 @@
/*
* PleineLargeur.java, 09/03/2022
* IUT Rodez 2021-2022, INFO 2
* pas de copyright, aucun droits
*/
package lecteur_pdf.menuBar.menuItems;
import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* Element de Menu Pleine Largeur qui permet d'afficher le document courrant de manière bord à bord (la taille horizontale du document coincide avec celle de la fenêtre)
*
* @author Léo Franch
* @author Lucas Vabre
* @author Noé Villeneuve
* @author Tristan Nogaret
*/
public class PleineLargeur extends MenuItem{
/**
* TODO
* Crée un nouvel Element de Menu "Pleine Largeur"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public PleineLargeur(Fenetre parent) {
@@ -13,7 +13,7 @@ import javax.swing.*;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Quitter qui permet de fermer la fenêtre courrante, ferme l'application si il s'agit de la dernière fenêtre fermée
*
* @author Léo Franch
* @author Lucas Vabre
@@ -23,8 +23,9 @@ import java.awt.event.ActionEvent;
public class Quitter extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Quitter"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public Quitter(Fenetre parent) {
super(parent, "Quitter");
@@ -11,7 +11,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Zoom 100% qui permet de mettre le Zoom par défaut
*
* @author Léo Franch
* @author Lucas Vabre
@@ -21,8 +21,9 @@ import java.awt.event.ActionEvent;
public class ZoomDefaut extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Zoom 100%"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ZoomDefaut(Fenetre parent) {
super(parent, "Zoom 100%");
@@ -11,7 +11,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Zoom 50% qui permet de dézoomer
*
* @author Léo Franch
* @author Lucas Vabre
@@ -21,8 +21,9 @@ import java.awt.event.ActionEvent;
public class ZoomMoins extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Zoom 50%"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ZoomMoins(Fenetre parent) {
super(parent, "Zoom 50%");
@@ -11,7 +11,7 @@ import lecteur_pdf.Fenetre;
import java.awt.event.ActionEvent;
/**
* TODO commentaires
* Element de Menu Zoom 150% qui permet de zoomer
*
* @author Léo Franch
* @author Lucas Vabre
@@ -21,8 +21,9 @@ import java.awt.event.ActionEvent;
public class ZoomPlus extends MenuItem {
/**
* TODO
* @param parent
* Crée un nouvel Element de Menu "Zoom 150%"
*
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
*/
public ZoomPlus(Fenetre parent) {
super(parent, "Zoom 150%");
+18 -8
View File
@@ -23,17 +23,16 @@ import java.io.IOException;
*/
public class DocumentPdf {
/**
* TODO
*/
/** TODO */
private PDDocument document;
/**
* TODO
*/
/** TODO */
private PDFRenderer renderer;
/** TODO */
private int minWidth;
/** TODO */
private int minHeight;
/**
@@ -49,10 +48,16 @@ public class DocumentPdf {
minHeight = -1;
}
/**
* TODO
*/
public int getMinWidth() {
return minWidth;
}
/**
* TODO
*/
public int getMinHeight() {
return minHeight;
}
@@ -66,11 +71,16 @@ public class DocumentPdf {
return document.getNumberOfPages();
}
/**
* TODO
*/
public BufferedImage renderPage(int pageIndex) throws IOException {
return renderPage(pageIndex, 1.0f);
}
/**
* TODO
*/
public BufferedImage setScale(float scale) {
try {
return renderPage(0, scale);
@@ -102,7 +112,7 @@ public class DocumentPdf {
}
/**
* TODO
* Ferme le document courrant et redéfini les paramêtres par défaut
*/
public void close() {
try {
-60
View File
@@ -1,60 +0,0 @@
//package lecteur_pdf.pdf;
//
//import javax.swing.*;
//import java.awt.*;
//import java.awt.image.BufferedImage;
//
//public class OutilsImage {
//
// /**
// * Change la taille d'une image
// * @param img
// * @param newW
// * @param newH
// * @return
// */
// public static BufferedImage resize(BufferedImage img, int newW, int newH) {
// int w = img.getWidth();
// int h = img.getHeight();
// BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
// Graphics2D g = dimg.createGraphics();
// g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
// RenderingHints.VALUE_INTERPOLATION_BILINEAR);
// g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
// g.dispose();
// return dimg;
// }
//
// /**
// *
// * @param img
// * @param newW
// * @return
// */
// public static BufferedImage resizeWidth(DocumentPdf a, Icon img, int newW) {
// int w = a.getMinWidth();
// int h = a.getMinHeight();
//
// float ratio = (float)newW / (float)w;
//
// return a.setScale(ratio);
// }
//
// /**
// *
// * @param img
// * @param newH
// * @return
// */
// public static BufferedImage resizeHeight(BufferedImage img, int newH) {
// int w = img.getWidth();
// int h = img.getHeight();
//
// int ratio = newH / (1+h);
//
// int newW = w * ratio;
//
// return resize(img, newW, newH);
// }
//
//}
+52 -37
View File
@@ -135,15 +135,31 @@ public class PdfPanel extends JPanel {
else GestionFenetre.previousPages();
}
/**
* TODO
*/
public void resize() {
if (pdfLoader != null && !processing) {
scaleSizing = pleineLargeur
? (((float) viewport.getWidth() - (float) scrollPane.getVerticalScrollBar().getWidth()) / (float) pdfLoader.getMinWidth()) - scaleZoom
: (((float) viewport.getHeight() - (float) scrollPane.getHorizontalScrollBar().getHeight()) / (float) pdfLoader.getMinHeight()) - scaleZoom;
updateScaleSizing(scaleSizing);
if (pdfLoader == null || processing) return;
if (pleineLargeur) {
float viewportWidth = viewport.getWidth();
float scrollpaneWidth = scrollPane.getVerticalScrollBar().getWidth();
float pdfMinWidth = pdfLoader.getMinWidth();
scaleSizing = (viewportWidth - scrollpaneWidth) / pdfMinWidth - scaleZoom;
} else {
float viewportHeight = viewport.getHeight();
float scrollpaneHeight = scrollPane.getVerticalScrollBar().getHeight();
float pdfMinHeight = pdfLoader.getMinHeight();
scaleSizing = (viewportHeight - scrollpaneHeight) / pdfMinHeight - scaleZoom;
}
updateScaleSizing(scaleSizing);
}
/**
* @param pleineLargeur booléen qui défini l'état du mode pleine largeur
*/
public void setPleineLargeur(boolean pleineLargeur) {
this.pleineLargeur = pleineLargeur;
resize();
@@ -156,8 +172,9 @@ public class PdfPanel extends JPanel {
* @return true si le prédicat est vérifié, false sinon
*/
private boolean isPageValide(int index) {
if (pdfLoader == null) return false;
return 0 <= index && index < pdfLoader.getNbPages();
return pdfLoader != null
&& 0 <= index
&& index < pdfLoader.getNbPages();
}
/**
@@ -171,13 +188,12 @@ public class PdfPanel extends JPanel {
setPdfLoader(new DocumentPdf(pdfFile));
setPage(0);
return true;
} catch (IOException e) {
return false;
}
} catch (IOException ignored) {}
return false;
}
/**
* @param pdfLoader
* @param pdfLoader un nouveau document PDF à affecter à la fenêtre
*/
public void setPdfLoader(DocumentPdf pdfLoader) {
this.pdfLoader = pdfLoader;
@@ -187,25 +203,25 @@ public class PdfPanel extends JPanel {
* Décharge le document courant s'il y en a un
*/
public void dechargerPdf() {
if (isCharge()) {
/* Ferme le loader et l'efface */
pdfLoader.close();
pdfLoader = null;
if (!isCharge()) return;
/* Efface l'image de la page */
page.setIcon(null);
currentPage = 0;
/* Ferme le loader et l'efface */
pdfLoader.close();
pdfLoader = null;
/* Interface Vide */
indexPageInput.setText("");
maxPageLabel.setText("/ -");
/* Efface l'image de la page */
page.setIcon(null);
currentPage = 0;
/* Efface les données relatives au zoom */
scaleSizing = 0.0f;
scaleZoom = 1.0f;
/* Interface Vide */
indexPageInput.setText("");
maxPageLabel.setText("/ -");
validate();
}
/* Efface les données relatives au zoom */
scaleSizing = 0.0f;
scaleZoom = 1.0f;
validate();
}
/**
@@ -223,7 +239,7 @@ public class PdfPanel extends JPanel {
*
* @param scale Valeur flottante (1.00f == 100%)
*/
public void updateScaleSizing(float scale) {
private void updateScaleSizing(float scale) {
scaleSizing = scale;
setPage(currentPage);
}
@@ -248,17 +264,16 @@ public class PdfPanel extends JPanel {
* @param index Le numéro de la page où l'on veut se rendre
*/
private void setPage(int index) {
if (isPageValide(index)) {
if (!isPageValide(index)) return;
processing = true;
try {
page.setIcon(new ImageIcon(pdfLoader.renderPage(index, scaleZoom + scaleSizing)));
currentPage = index;
indexPageInput.setText(Integer.toString(currentPage + 1));
maxPageLabel.setText(String.format("/%d", pdfLoader.getNbPages()));
} catch (IOException ignored) {}
processing = false;
}
processing = true;
try {
page.setIcon(new ImageIcon(pdfLoader.renderPage(index, scaleZoom + scaleSizing)));
currentPage = index;
indexPageInput.setText(Integer.toString(currentPage + 1));
maxPageLabel.setText(String.format("/%d", pdfLoader.getNbPages()));
} catch (IOException ignored) {}
processing = false;
}
/**