mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-07-09 12:47:45 +00:00
Refactor de code + edit Popup
This commit is contained in:
@@ -14,43 +14,53 @@ import javax.swing.*;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* Classe définissant une fenêtre qui peut contenir un document PDF
|
||||||
*
|
*
|
||||||
* @author Léo Franch
|
* @author Léo Franch
|
||||||
* @author Lucas Vabre
|
* @author Lucas Vabre
|
||||||
* @author Noé Villeneuve
|
* @author Noé Villeneuve
|
||||||
* @author Tristan Nogaret
|
* @author Tristan Nogaret
|
||||||
*/
|
*/
|
||||||
public class IhmPdf extends JFrame {
|
public class Fenetre extends JFrame {
|
||||||
|
|
||||||
/* Elements visuels */
|
/**
|
||||||
|
* Titre de l'application
|
||||||
|
*/
|
||||||
|
public static final String TITRE = "LPDA";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Le Panel contenant le document PDF
|
||||||
|
*/
|
||||||
private final PdfPanel pdfPanel;
|
private final PdfPanel pdfPanel;
|
||||||
private MenuBar menuBar;
|
|
||||||
|
|
||||||
/* Relatif au FullScreen */
|
/* Relatif au FullScreen */
|
||||||
|
/**
|
||||||
|
* Booléen qui définit si la fenêtre est en mode plein écran ou non
|
||||||
|
*/
|
||||||
private boolean fullscreen = false;
|
private boolean fullscreen = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Composant Graphique permettant la mise en place du plein ecran
|
||||||
|
*/
|
||||||
private GraphicsDevice device;
|
private GraphicsDevice device;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Crée une nouvelle fenêtre vide
|
||||||
* @throws IOException
|
|
||||||
*/
|
*/
|
||||||
public IhmPdf() throws IOException {
|
public Fenetre() {
|
||||||
super(GestionPdf.TITRE_APPLICATION);
|
super(TITRE);
|
||||||
|
|
||||||
/* Icone de la fenêtre */
|
/* Icone de la fenêtre */
|
||||||
setIconImage(GestionPdf.ICONE);
|
setIconImage(GestionFenetre.ICONE);
|
||||||
|
|
||||||
/* Déclaration des attributs */
|
/* Déclaration des attributs */
|
||||||
menuBar = new MenuBar(this);
|
|
||||||
pdfPanel = new PdfPanel();
|
pdfPanel = new PdfPanel();
|
||||||
|
|
||||||
/* Hierarchie */
|
/* Hierarchie */
|
||||||
setContentPane(pdfPanel);
|
setContentPane(pdfPanel);
|
||||||
setJMenuBar(menuBar);
|
setJMenuBar(new MenuBar(this)); // Ajoute la barre des menus
|
||||||
|
|
||||||
/* Action à la fermeture de la fenêtre */
|
/* Action à la fermeture de la fenêtre */
|
||||||
this.addWindowListener(new WindowAdapter(){
|
this.addWindowListener(new WindowAdapter(){
|
||||||
@@ -72,42 +82,57 @@ public class IhmPdf extends JFrame {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* @return Le Panel contenant le document PDF
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public PdfPanel getPdfPanel() {
|
public PdfPanel getPdfPanel() {
|
||||||
return pdfPanel;
|
return pdfPanel;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Si fullscreen est égal à false -> Désactive le mode Plein Ecran
|
||||||
|
* Sinon Active le mode Plein Ecran
|
||||||
*/
|
*/
|
||||||
public void pleinEcran() {
|
public void pleinEcran() {
|
||||||
// Switch de disposition
|
|
||||||
fullscreen = !fullscreen;
|
if (!fullscreen) { // Active le Plein Ecran
|
||||||
if (fullscreen) { // Set fullscreen
|
GraphicsEnvironment graphics = GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||||
GraphicsEnvironment graphics =
|
|
||||||
GraphicsEnvironment.getLocalGraphicsEnvironment();
|
|
||||||
device = graphics.getDefaultScreenDevice();
|
device = graphics.getDefaultScreenDevice();
|
||||||
device.setFullScreenWindow(this);
|
device.setFullScreenWindow(this);
|
||||||
} else { // remove fullscreen
|
} else { // Désactive le Plein Ecran
|
||||||
device.setFullScreenWindow(null);
|
device.setFullScreenWindow(null);
|
||||||
setUndecorated(false);
|
setUndecorated(false);
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fullscreen = !fullscreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Décharge le PDF courrant, ferme la fenêtre
|
||||||
|
* Si il s'agit de la dernière fenêtre ouverte, arrête l'application
|
||||||
*/
|
*/
|
||||||
public void quitter() {
|
public void quitter() {
|
||||||
|
|
||||||
|
/* Décharge le PDF */
|
||||||
pdfPanel.dechargerPdf();
|
pdfPanel.dechargerPdf();
|
||||||
if (GestionPdf.ihmPdfList.size() == GestionPdf.maxPdf) GestionMode.activerFenetre();
|
|
||||||
GestionPdf.ihmPdfList.remove(this);
|
/* Supprime la fenêtre de la liste du Gestionnaire de Fenêtre */
|
||||||
|
GestionFenetre.FENETRE_LIST.remove(this);
|
||||||
dispose();
|
dispose();
|
||||||
|
|
||||||
if (GestionPdf.ihmPdfList.size() == 0) {
|
/* Si la liste des fenêtres n'est pas pleine alors on reactive le boutton pour créer une nouvelle fenêtre */
|
||||||
System.exit(0);
|
if (GestionFenetre.FENETRE_LIST.size() < GestionFenetre.NB_MAX_PDF) GestionMode.activerBtnNouvelleFenetre();
|
||||||
|
|
||||||
|
/* Si il n'y a plus de fenêtre ouvertes on quitte l'application */
|
||||||
|
if (GestionFenetre.FENETRE_LIST.size() == 0) System.exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Décharge le PDF courrant et redéfini le titre de l'application
|
||||||
|
*/
|
||||||
|
public void fermerPdf() {
|
||||||
|
getPdfPanel().dechargerPdf();
|
||||||
|
setTitle(TITRE);
|
||||||
|
pack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,69 +6,60 @@
|
|||||||
|
|
||||||
package lecteur_pdf;
|
package lecteur_pdf;
|
||||||
|
|
||||||
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* Gestionnaire des fênetres ouvertes dans l'application
|
||||||
*
|
*
|
||||||
* @author Léo Franch
|
* @author Léo Franch
|
||||||
* @author Lucas Vabre
|
* @author Lucas Vabre
|
||||||
* @author Noé Villeneuve
|
* @author Noé Villeneuve
|
||||||
* @author Tristan Nogaret
|
* @author Tristan Nogaret
|
||||||
*/
|
*/
|
||||||
public class GestionPdf {
|
public class GestionFenetre {
|
||||||
/**
|
|
||||||
* TODO
|
|
||||||
*/
|
|
||||||
public static final String TITRE_APPLICATION = "LPDA";
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iconne de l'application (affiché en haut a droite des fenêtres)
|
||||||
|
*/
|
||||||
public static final Image ICONE = new ImageIcon("./lib/icon.png").getImage();
|
public static final Image ICONE = new ImageIcon("./lib/icon.png").getImage();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Nombre maximum de PDF que l'application peut ouvrir en simultané
|
||||||
*/
|
*/
|
||||||
public static final int maxPdf = 2;
|
public static final int NB_MAX_PDF = 2;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Liste des fenêtres ouvertes
|
||||||
*/
|
*/
|
||||||
public static final List<IhmPdf> ihmPdfList = new ArrayList<>();
|
public static final List<Fenetre> FENETRE_LIST = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Crée une nouvelle fenêtre
|
* Crée une nouvelle fenêtre si NB_MAX_PDF n'est pas atteint
|
||||||
*/
|
*/
|
||||||
public static void newIhmPdf() {
|
public static void newIhmPdf() {
|
||||||
if (ihmPdfList.size() >= maxPdf) {
|
if (FENETRE_LIST.size() < NB_MAX_PDF) {
|
||||||
JOptionPane.showMessageDialog(new JFrame(),"vous ne pouvez plus ouvrir de nouvelle fenêtre car vous avez atteint le nombre maximum. ");
|
Fenetre ihm = new Fenetre();
|
||||||
return;
|
FENETRE_LIST.add(ihm);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
|
||||||
IhmPdf ihm = new IhmPdf();
|
|
||||||
ihmPdfList.add(ihm);
|
|
||||||
} catch (IOException ignored) {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Methode affiche la page suivante en mode Synchronisé
|
* Methode qui affiche la page suivante de tout les PDF ouvert (mode Synchronisé)
|
||||||
*/
|
*/
|
||||||
public static void nextPages() {
|
public static void nextPages() {
|
||||||
for (IhmPdf ihm : ihmPdfList) {
|
for (Fenetre ihm : FENETRE_LIST) {
|
||||||
ihm.getPdfPanel().nextPage();
|
ihm.getPdfPanel().nextPage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Methode affiche la page précédente en mode Synchronisé
|
* Methode qui affiche la page précédente de tout les PDF ouvert (mode Synchronisé)
|
||||||
*/
|
*/
|
||||||
public static void previousPages() {
|
public static void previousPages() {
|
||||||
for (IhmPdf ihm : ihmPdfList) {
|
for (Fenetre ihm : FENETRE_LIST) {
|
||||||
ihm.getPdfPanel().previousPage();
|
ihm.getPdfPanel().previousPage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,9 +69,7 @@ public class GestionPdf {
|
|||||||
* @param args non utilisé
|
* @param args non utilisé
|
||||||
*/
|
*/
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
/* Définit le style de la fenêtre sur l'explorateur windows lorsque
|
/* Définit le style de la fenêtre sur l'explorateur windows si possible */
|
||||||
* cela est possible
|
|
||||||
*/
|
|
||||||
try {
|
try {
|
||||||
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
|
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
|
||||||
} catch (Exception ignored) {}
|
} catch (Exception ignored) {}
|
||||||
@@ -104,7 +104,7 @@ public class GestionMode {
|
|||||||
/**
|
/**
|
||||||
* TODO
|
* TODO
|
||||||
*/
|
*/
|
||||||
public static void activerFenetre() {
|
public static void activerBtnNouvelleFenetre() {
|
||||||
for (NouvelleFenetre item : nouvelleFenetreList) {
|
for (NouvelleFenetre item : nouvelleFenetreList) {
|
||||||
item.setEnabled(true);
|
item.setEnabled(true);
|
||||||
item.setBackground(Color.BLACK);
|
item.setBackground(Color.BLACK);
|
||||||
|
|||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
* Popup.java, 09/03/2022
|
||||||
|
* IUT Rodez 2021-2022, INFO 2
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
|
package lecteur_pdf;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*
|
||||||
|
* @author Léo Franch
|
||||||
|
* @author Lucas Vabre
|
||||||
|
* @author Noé Villeneuve
|
||||||
|
* @author Tristan Nogaret
|
||||||
|
*/
|
||||||
|
public class Popup {
|
||||||
|
|
||||||
|
public static int OuiNonPopup(Component parent, String titre, String message) {
|
||||||
|
JOptionPane d = new JOptionPane();
|
||||||
|
String[] choix = {"Oui", "Non"};
|
||||||
|
return d.showOptionDialog(parent, message, titre, JOptionPane.YES_NO_OPTION, JOptionPane.INFORMATION_MESSAGE,
|
||||||
|
null, choix, choix[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
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]);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -12,8 +12,8 @@ import javax.swing.filechooser.FileSystemView;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Classe qui permet d'ouvrir une fenêtre pour sélectionner le fichier pdf à
|
* Classe qui permet d'ouvrir une fenêtre pour sélectionner le fichier pdf à ouvrir
|
||||||
* ouvrir
|
*
|
||||||
* @author Léo FRANCH
|
* @author Léo FRANCH
|
||||||
* @author Tristan NOGARET
|
* @author Tristan NOGARET
|
||||||
* @author Lucàs VABRE
|
* @author Lucàs VABRE
|
||||||
@@ -23,8 +23,8 @@ import java.io.File;
|
|||||||
public class SelectionnerFichier {
|
public class SelectionnerFichier {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Méthode qui créée une fenêtre pour que l'utilisateur choisisse un
|
* Méthode qui créée une fenêtre pour que l'utilisateur choisisse un fichier PDF
|
||||||
* fichier PDF
|
*
|
||||||
* @return le fichier choisi par l'utilisateur
|
* @return le fichier choisi par l'utilisateur
|
||||||
*/
|
*/
|
||||||
public static File ouvrirFichier(JFrame parent) {
|
public static File ouvrirFichier(JFrame parent) {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar;
|
package lecteur_pdf.menuBar;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.menuBar.menu.MenuAffichage;
|
import lecteur_pdf.menuBar.menu.MenuAffichage;
|
||||||
import lecteur_pdf.menuBar.menu.MenuFichier;
|
import lecteur_pdf.menuBar.menu.MenuFichier;
|
||||||
import lecteur_pdf.menuBar.menu.MenuMode;
|
import lecteur_pdf.menuBar.menu.MenuMode;
|
||||||
@@ -24,7 +24,7 @@ import javax.swing.*;
|
|||||||
*/
|
*/
|
||||||
public class MenuBar extends JMenuBar {
|
public class MenuBar extends JMenuBar {
|
||||||
|
|
||||||
public MenuBar(IhmPdf parent) {
|
public MenuBar(Fenetre 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));
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menu;
|
package lecteur_pdf.menuBar.menu;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.menuBar.menuItems.*;
|
import lecteur_pdf.menuBar.menuItems.*;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -26,16 +26,14 @@ public class MenuAffichage extends JMenu {
|
|||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
||||||
*/
|
*/
|
||||||
public MenuAffichage(IhmPdf parent) {
|
public MenuAffichage(Fenetre parent) {
|
||||||
super("Affichage");
|
super("Affichage");
|
||||||
|
|
||||||
/* - Ajoute les différentes options - */
|
|
||||||
|
|
||||||
/* Mode plein écran */
|
/* Mode plein écran */
|
||||||
add(new PleinEcran(parent));
|
add(new PleinEcran(parent));
|
||||||
addSeparator();
|
addSeparator();
|
||||||
|
|
||||||
/* Navigation dans les différentes pages des documents */
|
/* Navigation dans les différentes pages */
|
||||||
add(new PagePrecedente(parent));
|
add(new PagePrecedente(parent));
|
||||||
add(new PageSuivante(parent));
|
add(new PageSuivante(parent));
|
||||||
addSeparator();
|
addSeparator();
|
||||||
@@ -46,6 +44,7 @@ public class MenuAffichage extends JMenu {
|
|||||||
add(new ZoomPlus(parent));
|
add(new ZoomPlus(parent));
|
||||||
addSeparator();
|
addSeparator();
|
||||||
|
|
||||||
|
/* Mode d'affichage */
|
||||||
add(new PageEntiere(parent));
|
add(new PageEntiere(parent));
|
||||||
add(new PleineLargeur(parent));
|
add(new PleineLargeur(parent));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menu;
|
package lecteur_pdf.menuBar.menu;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.menuBar.menuItems.*;
|
import lecteur_pdf.menuBar.menuItems.*;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -26,11 +26,9 @@ public class MenuFichier extends JMenu {
|
|||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
||||||
*/
|
*/
|
||||||
public MenuFichier(IhmPdf parent) {
|
public MenuFichier(Fenetre parent) {
|
||||||
super("Fichier");
|
super("Fichier");
|
||||||
|
|
||||||
/* - Ajoute les différentes options - */
|
|
||||||
|
|
||||||
add(new OuvrirFichier(parent));
|
add(new OuvrirFichier(parent));
|
||||||
add(new FermerFichier(parent));
|
add(new FermerFichier(parent));
|
||||||
add(new Quitter(parent));
|
add(new Quitter(parent));
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
package lecteur_pdf.menuBar.menu;
|
package lecteur_pdf.menuBar.menu;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.menuBar.menuItems.ModeSepare;
|
import lecteur_pdf.menuBar.menuItems.ModeSepare;
|
||||||
import lecteur_pdf.menuBar.menuItems.ModeSynchronise;
|
import lecteur_pdf.menuBar.menuItems.ModeSynchronise;
|
||||||
import lecteur_pdf.menuBar.menuItems.NouvelleFenetre;
|
import lecteur_pdf.menuBar.menuItems.NouvelleFenetre;
|
||||||
@@ -29,7 +29,7 @@ public class MenuMode extends JMenu {
|
|||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
||||||
*/
|
*/
|
||||||
public MenuMode(IhmPdf parent) {
|
public MenuMode(Fenetre parent) {
|
||||||
super("Mode");
|
super("Mode");
|
||||||
|
|
||||||
/* Crée les différentes options */
|
/* Crée les différentes options */
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menu;
|
package lecteur_pdf.menuBar.menu;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.menuBar.menuItems.*;
|
import lecteur_pdf.menuBar.menuItems.*;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -26,7 +26,7 @@ public class MenuOptions extends JMenu {
|
|||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
* @param parent Référence de la fenêtre qui possède l'instance de ce menu
|
||||||
*/
|
*/
|
||||||
public MenuOptions(IhmPdf parent) {
|
public MenuOptions(Fenetre parent) {
|
||||||
super("Options");
|
super("Options");
|
||||||
add(new ModifierTouches(parent));
|
add(new ModifierTouches(parent));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,13 +6,11 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Popup;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -25,35 +23,21 @@ import java.awt.event.KeyEvent;
|
|||||||
public class FermerFichier extends MenuItem {
|
public class FermerFichier extends MenuItem {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Crée un nouvel Element de Menu "Fermer"
|
||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
*/
|
*/
|
||||||
public FermerFichier(IhmPdf parent) {
|
public FermerFichier(Fenetre parent) {
|
||||||
super(parent, "Fermer");
|
super(parent, "Fermer");
|
||||||
|
|
||||||
/* TODO Définition du raccourcis.save clavier a modifier */
|
|
||||||
// setRaccourcis(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void action(ActionEvent evt) {
|
protected void action(ActionEvent evt) {
|
||||||
JDialog jd = new JDialog();
|
if (parent.getPdfPanel().isCharge()) {
|
||||||
jd.setLayout(new FlowLayout());
|
String TITRE = "Fermeture du document";
|
||||||
jd.setBounds(500,300,400,100);
|
String MESSAGE = "Etes vous sûr de vouloir fermer le document ?";
|
||||||
JLabel jlabel = new JLabel("etes vous sûr de vouloir fermer ? ");
|
|
||||||
JButton oui = new JButton("oui");
|
if (Popup.OuiNonPopup(parent, TITRE, MESSAGE) == JOptionPane.YES_OPTION) parent.fermerPdf();
|
||||||
oui.addActionListener(m -> {
|
}
|
||||||
parent.getPdfPanel().dechargerPdf();
|
|
||||||
parent.setTitle(GestionPdf.TITRE_APPLICATION);
|
|
||||||
parent.pack();
|
|
||||||
jd.setVisible(false);
|
|
||||||
});
|
|
||||||
JButton non = new JButton("non");
|
|
||||||
non.addActionListener(n -> jd.setVisible(false));
|
|
||||||
jd.add(jlabel);
|
|
||||||
jd.add(oui);
|
|
||||||
jd.add(non);
|
|
||||||
jd.setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,14 +6,14 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* Classe abstraite qui défini les Elements de menu qui necessite d'acceder à leur Fenêtre parente
|
||||||
*
|
*
|
||||||
* @author Léo Franch
|
* @author Léo Franch
|
||||||
* @author Lucas Vabre
|
* @author Lucas Vabre
|
||||||
@@ -23,25 +23,26 @@ import java.awt.event.ActionEvent;
|
|||||||
public abstract class MenuItem extends JMenuItem {
|
public abstract class MenuItem extends JMenuItem {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
*/
|
*/
|
||||||
IhmPdf parent;
|
Fenetre parent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Crée un nouvel Element de Menu avec un nom, une action et se référence dans la liste des raccourcis claviers
|
||||||
*
|
*
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
* @param name Nom de l'action
|
* @param name Nom de l'action
|
||||||
*/
|
*/
|
||||||
public MenuItem(IhmPdf parent, String name) {
|
public MenuItem(Fenetre parent, String name) {
|
||||||
super(name);
|
super(name);
|
||||||
this.parent = parent;
|
this.parent = parent;
|
||||||
addActionListener(this::action);
|
addActionListener(this::action);
|
||||||
RaccourcisClavier.listeMenuItems.add(this);
|
RaccourcisClavier.listeMenuItems.add(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action de l'element lors du clic
|
||||||
|
* @param evt Action de l'utilisateur (clic)
|
||||||
|
*/
|
||||||
protected abstract void action(ActionEvent evt);
|
protected abstract void action(ActionEvent evt);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.IhmPdf;
|
|
||||||
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -24,15 +23,10 @@ public class ModeSepare extends JRadioButtonMenuItem {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* TODO
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
|
||||||
*/
|
*/
|
||||||
public ModeSepare() {
|
public ModeSepare() {
|
||||||
super("Mode Séparé");
|
super("Mode Séparé");
|
||||||
|
addActionListener(e -> GestionMode.setModeSepare());
|
||||||
addActionListener(e -> {
|
|
||||||
GestionMode.setModeSepare();
|
|
||||||
});
|
|
||||||
|
|
||||||
RaccourcisClavier.listeMenuItems.add(this);
|
RaccourcisClavier.listeMenuItems.add(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.IhmPdf;
|
|
||||||
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
@@ -22,13 +21,12 @@ import javax.swing.*;
|
|||||||
*/
|
*/
|
||||||
public class ModeSynchronise extends JRadioButtonMenuItem {
|
public class ModeSynchronise extends JRadioButtonMenuItem {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TODO
|
||||||
|
*/
|
||||||
public ModeSynchronise() {
|
public ModeSynchronise() {
|
||||||
super("Mode Synchronisé");
|
super("Mode Synchronisé");
|
||||||
|
addActionListener(e -> GestionMode.setModeSynchronise());
|
||||||
addActionListener(e -> {
|
|
||||||
GestionMode.setModeSynchronise();
|
|
||||||
});
|
|
||||||
|
|
||||||
RaccourcisClavier.listeMenuItems.add(this);
|
RaccourcisClavier.listeMenuItems.add(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
import lecteur_pdf.raccourcisClavier.RaccourcisClavier;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@@ -25,7 +25,7 @@ public class ModifierTouches extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
*/
|
*/
|
||||||
public ModifierTouches(IhmPdf parent) {
|
public ModifierTouches(Fenetre parent) {
|
||||||
super(parent, "Modifier Touches");
|
super(parent, "Modifier Touches");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@
|
|||||||
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.GestionFenetre;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
@@ -26,16 +26,16 @@ public class NouvelleFenetre extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public NouvelleFenetre(IhmPdf parent) {
|
public NouvelleFenetre(Fenetre parent) {
|
||||||
super(parent, "Nouvelle Fenêtre");
|
super(parent, "Nouvelle Fenêtre");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void action(ActionEvent evt) {
|
public void action(ActionEvent evt) {
|
||||||
/* Essaye de créer une nouvelle fenêtre */
|
/* Essaye de créer une nouvelle fenêtre */
|
||||||
GestionPdf.newIhmPdf();
|
GestionFenetre.newIhmPdf();
|
||||||
|
|
||||||
/* Désactive le bouton si on a atteint la limite des affichages */
|
/* Désactive le bouton si on a atteint la limite des affichages */
|
||||||
if (GestionPdf.ihmPdfList.size() == GestionPdf.maxPdf) GestionMode.desactiverFenetre();
|
if (GestionFenetre.FENETRE_LIST.size() == GestionFenetre.NB_MAX_PDF) GestionMode.desactiverFenetre();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -6,12 +6,11 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Popup;
|
||||||
import lecteur_pdf.SelectionnerFichier;
|
import lecteur_pdf.SelectionnerFichier;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -28,7 +27,7 @@ public class OuvrirFichier extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public OuvrirFichier(IhmPdf parent) {
|
public OuvrirFichier(Fenetre parent) {
|
||||||
super(parent, "Ouvrir");
|
super(parent, "Ouvrir");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK);
|
// setRaccourcis(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK);
|
||||||
@@ -45,14 +44,16 @@ public class OuvrirFichier extends MenuItem {
|
|||||||
|
|
||||||
/* Si il y a deja un fichier d'ouvert, on le ferme */
|
/* Si il y a deja un fichier d'ouvert, on le ferme */
|
||||||
parent.getPdfPanel().dechargerPdf();
|
parent.getPdfPanel().dechargerPdf();
|
||||||
parent.setTitle(GestionPdf.TITRE_APPLICATION);
|
parent.setTitle(Fenetre.TITRE);
|
||||||
parent.pack();
|
parent.pack();
|
||||||
|
|
||||||
if (parent.getPdfPanel().chargerPdf(fichier)) {
|
if (parent.getPdfPanel().chargerPdf(fichier)) {
|
||||||
parent.setTitle(GestionPdf.TITRE_APPLICATION + " - " + fichier.getName());
|
parent.setTitle(Fenetre.TITRE + " - " + fichier.getName());
|
||||||
parent.pack();
|
parent.pack();
|
||||||
} else {
|
} else {
|
||||||
// TODO Erreur fichier n'as pas pu etre chargé
|
final String TITRE = "Erreur";
|
||||||
|
final String MESSAGE = "Erreur : Le document n'as pas pu être chargé";
|
||||||
|
Popup.errorPopup(parent, TITRE, MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ public class PageEntiere extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
*/
|
*/
|
||||||
public PageEntiere(IhmPdf parent) {
|
public PageEntiere(Fenetre parent) {
|
||||||
super(parent, "Page Entière");
|
super(parent, "Page Entière");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,10 @@
|
|||||||
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.GestionFenetre;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -27,13 +26,13 @@ public class PagePrecedente extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public PagePrecedente(IhmPdf parent) {
|
public PagePrecedente(Fenetre parent) {
|
||||||
super(parent, "Page précédente");
|
super(parent, "Page précédente");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void action(ActionEvent evt) {
|
protected void action(ActionEvent evt) {
|
||||||
if (GestionMode.isModeSepare()) parent.getPdfPanel().previousPage();
|
if (GestionMode.isModeSepare()) parent.getPdfPanel().previousPage();
|
||||||
else GestionPdf.previousPages();
|
else GestionFenetre.previousPages();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,11 +7,10 @@
|
|||||||
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.GestionFenetre;
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -27,13 +26,13 @@ public class PageSuivante extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public PageSuivante(IhmPdf parent) {
|
public PageSuivante(Fenetre parent) {
|
||||||
super(parent, "Page suivante");
|
super(parent, "Page suivante");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void action(ActionEvent evt) {
|
protected void action(ActionEvent evt) {
|
||||||
if (GestionMode.isModeSepare()) parent.getPdfPanel().nextPage();
|
if (GestionMode.isModeSepare()) parent.getPdfPanel().nextPage();
|
||||||
else GestionPdf.nextPages();
|
else GestionFenetre.nextPages();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,9 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -25,10 +24,8 @@ public class PleinEcran extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public PleinEcran(IhmPdf parent) {
|
public PleinEcran(Fenetre parent) {
|
||||||
super(parent, "Mode Plein Ecran");
|
super(parent, "Mode Plein Ecran");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_P, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ public class PleineLargeur extends MenuItem{
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
* @param parent Référence de la fenêtre qui possède l'instance de ce MenuItem
|
||||||
*/
|
*/
|
||||||
public PleineLargeur(IhmPdf parent) {
|
public PleineLargeur(Fenetre parent) {
|
||||||
super(parent, "Pleine Largeur");
|
super(parent, "Pleine Largeur");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,12 +6,11 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
import lecteur_pdf.Popup;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -27,28 +26,14 @@ public class Quitter extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public Quitter(IhmPdf parent) {
|
public Quitter(Fenetre parent) {
|
||||||
super(parent, "Quitter");
|
super(parent, "Quitter");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void action(ActionEvent evt) {
|
protected void action(ActionEvent evt) {
|
||||||
JDialog jd = new JDialog();
|
final String TITRE = "Quitter";
|
||||||
jd.setLayout(new FlowLayout());
|
final String MESSAGE = "Etes-vous sûr de vouloir quitter l'application ?";
|
||||||
jd.setBounds(500,300,400,100);
|
if (Popup.OuiNonPopup(parent, TITRE, MESSAGE) == JOptionPane.YES_OPTION) parent.quitter();
|
||||||
JLabel jlabel = new JLabel("etes vous sûr de vouloir quitter ? ");
|
|
||||||
JButton oui = new JButton("oui");
|
|
||||||
oui.addActionListener(m -> {
|
|
||||||
parent.quitter();
|
|
||||||
jd.setVisible(false);
|
|
||||||
});
|
|
||||||
JButton non = new JButton("non");
|
|
||||||
non.addActionListener(n -> jd.setVisible(false));
|
|
||||||
jd.add(jlabel);
|
|
||||||
jd.add(oui);
|
|
||||||
jd.add(non);
|
|
||||||
jd.setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,10 +6,9 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -25,11 +24,8 @@ public class ZoomDefaut extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public ZoomDefaut(IhmPdf parent) {
|
public ZoomDefaut(Fenetre parent) {
|
||||||
super(parent, "Zoom 100%");
|
super(parent, "Zoom 100%");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_G, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,10 +6,9 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -25,11 +24,8 @@ public class ZoomMoins extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public ZoomMoins(IhmPdf parent) {
|
public ZoomMoins(Fenetre parent) {
|
||||||
super(parent, "Zoom 50%");
|
super(parent, "Zoom 50%");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_F, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,10 +6,9 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menuBar.menuItems;
|
package lecteur_pdf.menuBar.menuItems;
|
||||||
|
|
||||||
import lecteur_pdf.IhmPdf;
|
import lecteur_pdf.Fenetre;
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO commentaires
|
* TODO commentaires
|
||||||
@@ -25,11 +24,8 @@ public class ZoomPlus extends MenuItem {
|
|||||||
* TODO
|
* TODO
|
||||||
* @param parent
|
* @param parent
|
||||||
*/
|
*/
|
||||||
public ZoomPlus(IhmPdf parent) {
|
public ZoomPlus(Fenetre parent) {
|
||||||
super(parent, "Zoom 150%");
|
super(parent, "Zoom 150%");
|
||||||
|
|
||||||
// setRaccourcis(KeyEvent.VK_H, KeyEvent.CTRL_DOWN_MASK);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import java.io.IOException;
|
|||||||
* @author Noé Villeneuve
|
* @author Noé Villeneuve
|
||||||
* @author Tristan Nogaret
|
* @author Tristan Nogaret
|
||||||
*/
|
*/
|
||||||
public class PdfLoader {
|
public class DocumentPdf {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* TODO
|
||||||
@@ -42,7 +42,7 @@ public class PdfLoader {
|
|||||||
* @param file
|
* @param file
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public PdfLoader(File file) throws IOException {
|
public DocumentPdf(File file) throws IOException {
|
||||||
document = PDDocument.load(file);
|
document = PDDocument.load(file);
|
||||||
renderer = new PDFRenderer(document);
|
renderer = new PDFRenderer(document);
|
||||||
minWidth = -1;
|
minWidth = -1;
|
||||||
@@ -112,16 +112,4 @@ public class PdfLoader {
|
|||||||
minHeight = -1;
|
minHeight = -1;
|
||||||
} catch (IOException ignored) {}
|
} catch (IOException ignored) {}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO
|
|
||||||
*
|
|
||||||
* @param file
|
|
||||||
*/
|
|
||||||
public void load(File file) {
|
|
||||||
try {
|
|
||||||
document = PDDocument.load(file);
|
|
||||||
} catch (IOException ignored) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,60 +1,60 @@
|
|||||||
package lecteur_pdf.pdf;
|
//package lecteur_pdf.pdf;
|
||||||
|
//
|
||||||
import javax.swing.*;
|
//import javax.swing.*;
|
||||||
import java.awt.*;
|
//import java.awt.*;
|
||||||
import java.awt.image.BufferedImage;
|
//import java.awt.image.BufferedImage;
|
||||||
|
//
|
||||||
public class OutilsImage {
|
//public class OutilsImage {
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
* Change la taille d'une image
|
// * Change la taille d'une image
|
||||||
* @param img
|
// * @param img
|
||||||
* @param newW
|
// * @param newW
|
||||||
* @param newH
|
// * @param newH
|
||||||
* @return
|
// * @return
|
||||||
*/
|
// */
|
||||||
public static BufferedImage resize(BufferedImage img, int newW, int newH) {
|
// public static BufferedImage resize(BufferedImage img, int newW, int newH) {
|
||||||
int w = img.getWidth();
|
// int w = img.getWidth();
|
||||||
int h = img.getHeight();
|
// int h = img.getHeight();
|
||||||
BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
|
// BufferedImage dimg = new BufferedImage(newW, newH, img.getType());
|
||||||
Graphics2D g = dimg.createGraphics();
|
// Graphics2D g = dimg.createGraphics();
|
||||||
g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
|
// g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
|
||||||
RenderingHints.VALUE_INTERPOLATION_BILINEAR);
|
// RenderingHints.VALUE_INTERPOLATION_BILINEAR);
|
||||||
g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
|
// g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null);
|
||||||
g.dispose();
|
// g.dispose();
|
||||||
return dimg;
|
// return dimg;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
*
|
// *
|
||||||
* @param img
|
// * @param img
|
||||||
* @param newW
|
// * @param newW
|
||||||
* @return
|
// * @return
|
||||||
*/
|
// */
|
||||||
public static BufferedImage resizeWidth(PdfLoader a, Icon img, int newW) {
|
// public static BufferedImage resizeWidth(DocumentPdf a, Icon img, int newW) {
|
||||||
int w = a.getMinWidth();
|
// int w = a.getMinWidth();
|
||||||
int h = a.getMinHeight();
|
// int h = a.getMinHeight();
|
||||||
|
//
|
||||||
float ratio = (float)newW / (float)w;
|
// float ratio = (float)newW / (float)w;
|
||||||
|
//
|
||||||
return a.setScale(ratio);
|
// return a.setScale(ratio);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
/**
|
// /**
|
||||||
*
|
// *
|
||||||
* @param img
|
// * @param img
|
||||||
* @param newH
|
// * @param newH
|
||||||
* @return
|
// * @return
|
||||||
*/
|
// */
|
||||||
public static BufferedImage resizeHeight(BufferedImage img, int newH) {
|
// public static BufferedImage resizeHeight(BufferedImage img, int newH) {
|
||||||
int w = img.getWidth();
|
// int w = img.getWidth();
|
||||||
int h = img.getHeight();
|
// int h = img.getHeight();
|
||||||
|
//
|
||||||
int ratio = newH / (1+h);
|
// int ratio = newH / (1+h);
|
||||||
|
//
|
||||||
int newW = w * ratio;
|
// int newW = w * ratio;
|
||||||
|
//
|
||||||
return resize(img, newW, newH);
|
// return resize(img, newW, newH);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
//}
|
||||||
|
|||||||
@@ -7,7 +7,8 @@
|
|||||||
package lecteur_pdf.pdf;
|
package lecteur_pdf.pdf;
|
||||||
|
|
||||||
import lecteur_pdf.GestionMode;
|
import lecteur_pdf.GestionMode;
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionFenetre;
|
||||||
|
import lecteur_pdf.Popup;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -33,7 +34,7 @@ public class PdfPanel extends JPanel {
|
|||||||
private boolean processing;
|
private boolean processing;
|
||||||
|
|
||||||
/* Chargeur de Pdf */
|
/* Chargeur de Pdf */
|
||||||
private PdfLoader pdfLoader;
|
private DocumentPdf pdfLoader;
|
||||||
|
|
||||||
/* Interface */
|
/* Interface */
|
||||||
private final JTextField indexPageInput;
|
private final JTextField indexPageInput;
|
||||||
@@ -123,7 +124,7 @@ public class PdfPanel extends JPanel {
|
|||||||
*/
|
*/
|
||||||
private void btnSuivantAction(ActionEvent evt) {
|
private void btnSuivantAction(ActionEvent evt) {
|
||||||
if (GestionMode.isModeSepare()) nextPage();
|
if (GestionMode.isModeSepare()) nextPage();
|
||||||
else GestionPdf.nextPages();
|
else GestionFenetre.nextPages();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -131,7 +132,7 @@ public class PdfPanel extends JPanel {
|
|||||||
*/
|
*/
|
||||||
private void btnPrecedentAction(ActionEvent evt) {
|
private void btnPrecedentAction(ActionEvent evt) {
|
||||||
if (GestionMode.isModeSepare()) previousPage();
|
if (GestionMode.isModeSepare()) previousPage();
|
||||||
else GestionPdf.previousPages();
|
else GestionFenetre.previousPages();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void resize() {
|
public void resize() {
|
||||||
@@ -167,27 +168,26 @@ public class PdfPanel extends JPanel {
|
|||||||
*/
|
*/
|
||||||
public boolean chargerPdf(File pdfFile) {
|
public boolean chargerPdf(File pdfFile) {
|
||||||
try {
|
try {
|
||||||
setPdfLoader(new PdfLoader(pdfFile));
|
setPdfLoader(new DocumentPdf(pdfFile));
|
||||||
setPage(0);
|
setPage(0);
|
||||||
} catch (IOException e) {
|
|
||||||
JOptionPane.showMessageDialog(new JFrame(),"Une erreur s'est produite dans le chargement de votre document, il est peut-être corrompu. ");
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
|
} catch (IOException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param pdfLoader
|
* @param pdfLoader
|
||||||
*/
|
*/
|
||||||
public void setPdfLoader(PdfLoader pdfLoader) {
|
public void setPdfLoader(DocumentPdf pdfLoader) {
|
||||||
this.pdfLoader = pdfLoader;
|
this.pdfLoader = pdfLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO
|
* Décharge le document courrant si il y en a un
|
||||||
*/
|
*/
|
||||||
public void dechargerPdf() {
|
public void dechargerPdf() {
|
||||||
if (pdfLoader == null) return;
|
if (isCharge()) {
|
||||||
|
|
||||||
/* Ferme le loader et l'efface */
|
/* Ferme le loader et l'efface */
|
||||||
pdfLoader.close();
|
pdfLoader.close();
|
||||||
pdfLoader = null;
|
pdfLoader = null;
|
||||||
@@ -206,6 +206,7 @@ public class PdfPanel extends JPanel {
|
|||||||
|
|
||||||
validate();
|
validate();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change la taille de la page courrante
|
* Change la taille de la page courrante
|
||||||
@@ -247,7 +248,7 @@ public class PdfPanel extends JPanel {
|
|||||||
* @param index Le numéro de la page où l'on veut se rendre
|
* @param index Le numéro de la page où l'on veut se rendre
|
||||||
*/
|
*/
|
||||||
private void setPage(int index) {
|
private void setPage(int index) {
|
||||||
if (!isPageValide(index)) return;
|
if (isPageValide(index)) {
|
||||||
|
|
||||||
processing = true;
|
processing = true;
|
||||||
try {
|
try {
|
||||||
@@ -258,4 +259,13 @@ public class PdfPanel extends JPanel {
|
|||||||
} catch (IOException ignored) {}
|
} catch (IOException ignored) {}
|
||||||
processing = false;
|
processing = false;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prédicat qui vérifie si un PDF est chargé ou non
|
||||||
|
* @return true si un PDF est chargé, false sinon
|
||||||
|
*/
|
||||||
|
public boolean isCharge() {
|
||||||
|
return pdfLoader != null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
package lecteur_pdf.raccourcisClavier;
|
package lecteur_pdf.raccourcisClavier;
|
||||||
|
|
||||||
import lecteur_pdf.GestionPdf;
|
import lecteur_pdf.GestionFenetre;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
@@ -27,10 +27,10 @@ import java.util.Map;
|
|||||||
*/
|
*/
|
||||||
public class RaccourcisClavier extends JFrame {
|
public class RaccourcisClavier extends JFrame {
|
||||||
|
|
||||||
public static boolean saisieBloquee;
|
|
||||||
|
|
||||||
public static final String FICHIER_SAUVEGARDE = "raccourcis.save";
|
public static final String FICHIER_SAUVEGARDE = "raccourcis.save";
|
||||||
|
|
||||||
|
public static boolean saisieBloquee;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Liste des menus items, se remplis a la création de chaque MenuItem de l'application
|
* Liste des menus items, se remplis a la création de chaque MenuItem de l'application
|
||||||
*/
|
*/
|
||||||
@@ -82,7 +82,7 @@ public class RaccourcisClavier extends JFrame {
|
|||||||
public RaccourcisClavier() {
|
public RaccourcisClavier() {
|
||||||
super("Modification des raccourcis claviers");
|
super("Modification des raccourcis claviers");
|
||||||
saisieBloquee = false;
|
saisieBloquee = false;
|
||||||
setIconImage(GestionPdf.ICONE);
|
setIconImage(GestionFenetre.ICONE);
|
||||||
|
|
||||||
/* Charge le fichier et affecte les raccourcis aux MenuItems */
|
/* Charge le fichier et affecte les raccourcis aux MenuItems */
|
||||||
chargerRaccourcis();
|
chargerRaccourcis();
|
||||||
|
|||||||
Reference in New Issue
Block a user