mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-07-09 20:57:44 +00:00
Mode séparé/Synchronisé ok
- Ajout d'une classe MenuItem qui est utilisé par tout les JMenuItems (utile pour les raccourcis claviers) - Ajout d'une classe Raccourcis claviers avec une hash map a compléter - Ajout de commentaires - Erreurs ouvertures et fermetures de fichier générés, ouverture et fermeture de fenêtre géré - Fermeture des pdf proprement - Fermeture de l'application lorsqu'il n'y a plus de fenêtre dans l'application
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
package lecteur_pdf.menuBar.menu;
|
||||
|
||||
import lecteur_pdf.GestionPdf;
|
||||
import lecteur_pdf.IhmPdf;
|
||||
import lecteur_pdf.menuBar.menuItems.*;
|
||||
import lecteur_pdf.menuBar.menuItems.ModeSepare;
|
||||
import lecteur_pdf.menuBar.menuItems.ModeSynchronise;
|
||||
import lecteur_pdf.menuBar.menuItems.NouvelleFenetre;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -10,7 +13,21 @@ public class MenuMode extends JMenu {
|
||||
super("Mode");
|
||||
// Ajoute les menu items
|
||||
add(new NouvelleFenetre(parent));
|
||||
add(new ModeSepare(parent));
|
||||
add(new ModeSynchronise(parent));
|
||||
|
||||
ButtonGroup groupe = new ButtonGroup();
|
||||
ModeSepare modeSepare = new ModeSepare(parent);
|
||||
ModeSynchronise modeSynchronise = new ModeSynchronise(parent);
|
||||
|
||||
add(modeSepare);
|
||||
add(modeSynchronise);
|
||||
|
||||
groupe.add(modeSepare);
|
||||
groupe.add(modeSynchronise);
|
||||
|
||||
|
||||
modeSepare.setSelected(!GestionPdf.modeSynchronise);
|
||||
modeSynchronise.setSelected(GestionPdf.modeSynchronise);
|
||||
|
||||
parent.setMode(modeSepare, modeSynchronise);
|
||||
}
|
||||
}
|
||||
@@ -1,23 +1,21 @@
|
||||
package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.GestionPdf;
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class FermerFichier extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class FermerFichier extends MenuItem {
|
||||
|
||||
public FermerFichier(IhmPdf parent) {
|
||||
super("Fermer");
|
||||
this.parent = parent;
|
||||
super(parent, "Fermer");
|
||||
|
||||
addActionListener(e -> {parent.fermerFichier();});
|
||||
|
||||
KeyStroke raccourciFermer = KeyStroke.getKeyStroke(KeyEvent.VK_X,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciFermer);
|
||||
addActionListener(e -> {
|
||||
parent.getPdfPanel().dechargerPdf();
|
||||
parent.setTitle(GestionPdf.titreApplication);
|
||||
parent.pack();
|
||||
});
|
||||
|
||||
setRaccourcis(KeyEvent.VK_X, KeyEvent.CTRL_DOWN_MASK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
import lecteur_pdf.RaccourcisClavier;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class MenuItem extends JMenuItem {
|
||||
IhmPdf parent;
|
||||
|
||||
public MenuItem(IhmPdf parent, String name) {
|
||||
super(name);
|
||||
this.parent = parent;
|
||||
|
||||
}
|
||||
|
||||
public void setRaccourcis(int key) {
|
||||
KeyStroke raccourcis = KeyStroke.getKeyStroke((char)key);
|
||||
setAccelerator(raccourcis);
|
||||
|
||||
RaccourcisClavier.gestionnaireRaccourcis.put(this, raccourcis);
|
||||
}
|
||||
|
||||
public void setRaccourcis(int key, int mask) {
|
||||
KeyStroke raccourcis = KeyStroke.getKeyStroke(key, mask);
|
||||
setAccelerator(raccourcis);
|
||||
|
||||
RaccourcisClavier.gestionnaireRaccourcis.put(this, raccourcis);
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,8 @@ import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class ModeSepare extends JMenuItem {
|
||||
public class ModeSepare extends JRadioButtonMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
|
||||
public ModeSepare(IhmPdf parent) {
|
||||
@@ -13,7 +14,7 @@ public class ModeSepare extends JMenuItem {
|
||||
this.parent = parent;
|
||||
|
||||
addActionListener(e -> {
|
||||
GestionPdf.modeSynchronise = false;
|
||||
GestionPdf.setModeSynchronise(false);
|
||||
});
|
||||
|
||||
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
|
||||
|
||||
@@ -5,7 +5,7 @@ import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class ModeSynchronise extends JMenuItem {
|
||||
public class ModeSynchronise extends JRadioButtonMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
|
||||
@@ -14,7 +14,7 @@ public class ModeSynchronise extends JMenuItem {
|
||||
this.parent = parent;
|
||||
|
||||
addActionListener(e -> {
|
||||
GestionPdf.modeSynchronise = true;
|
||||
GestionPdf.setModeSynchronise(true);
|
||||
});
|
||||
|
||||
// TODO ajouter une checkbox pour indiquer si l'option est utilisé
|
||||
|
||||
@@ -2,17 +2,14 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class ModifierTouches extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class ModifierTouches extends MenuItem {
|
||||
|
||||
public ModifierTouches(IhmPdf parent) {
|
||||
super("Modifier Touches");
|
||||
this.parent = parent;
|
||||
super(parent, "Modifier Touches");
|
||||
|
||||
addActionListener(e -> {
|
||||
// TODO Ouverture de la fenêtre de dialogue de modification des touches
|
||||
});
|
||||
|
||||
// TODO ajouter l'options de modif de touches
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,10 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.GestionPdf;
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class NouvelleFenetre extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class NouvelleFenetre extends MenuItem {
|
||||
|
||||
public NouvelleFenetre(IhmPdf parent) {
|
||||
super("Nouvelle Fenêtre");
|
||||
this.parent = parent;
|
||||
super(parent, "Nouvelle Fenêtre");
|
||||
|
||||
addActionListener(e -> {
|
||||
/* Essaye de créer une nouvelle fenêtre */
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
import lecteur_pdf.SelectionnerFichier;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.io.IOException;
|
||||
import java.io.File;
|
||||
|
||||
public class OuvrirFichier extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class OuvrirFichier extends MenuItem {
|
||||
|
||||
public OuvrirFichier(IhmPdf parent) {
|
||||
super("Ouvrir");
|
||||
this.parent = parent;
|
||||
super(parent, "Ouvrir");
|
||||
|
||||
addActionListener(e -> {
|
||||
try {
|
||||
parent.ouvrirFichier();
|
||||
} catch (IOException ex) {
|
||||
ex.printStackTrace();
|
||||
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é
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
KeyStroke raccourciOuvrir = KeyStroke.getKeyStroke(KeyEvent.VK_O,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciOuvrir);
|
||||
setRaccourcis(KeyEvent.VK_O, KeyEvent.CTRL_DOWN_MASK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,10 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.GestionPdf;
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class PagePrecedente extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class PagePrecedente extends MenuItem {
|
||||
|
||||
public PagePrecedente(IhmPdf parent) {
|
||||
super("Page précédente");
|
||||
this.parent = parent;
|
||||
super(parent,"Page précédente");
|
||||
|
||||
addActionListener(e -> {
|
||||
if (GestionPdf.modeDoubleAffichage && GestionPdf.modeSynchronise) {
|
||||
@@ -21,7 +16,6 @@ public class PagePrecedente extends JMenuItem {
|
||||
}
|
||||
});
|
||||
|
||||
KeyStroke raccourciPagePrecedente = KeyStroke.getKeyStroke('l');
|
||||
setAccelerator(raccourciPagePrecedente);
|
||||
setRaccourcis('l');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,10 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
import lecteur_pdf.GestionPdf;
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
public class PageSuivante extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class PageSuivante extends MenuItem {
|
||||
|
||||
public PageSuivante(IhmPdf parent) {
|
||||
super("Page suivante");
|
||||
this.parent = parent;
|
||||
super(parent,"Page suivante");
|
||||
|
||||
addActionListener(e -> {
|
||||
if (GestionPdf.modeDoubleAffichage && GestionPdf.modeSynchronise) {
|
||||
@@ -21,7 +16,6 @@ public class PageSuivante extends JMenuItem {
|
||||
}
|
||||
});
|
||||
|
||||
KeyStroke raccourciPageSuivante = KeyStroke.getKeyStroke('m');
|
||||
setAccelerator(raccourciPageSuivante);
|
||||
setRaccourcis('m');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,16 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class PleinEcran extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class PleinEcran extends MenuItem {
|
||||
|
||||
public PleinEcran(IhmPdf parent) {
|
||||
super("Mode Plein Ecran");
|
||||
this.parent = parent;
|
||||
KeyStroke raccourciPleinEcran = KeyStroke.getKeyStroke(KeyEvent.VK_F11,
|
||||
0);
|
||||
setAccelerator(raccourciPleinEcran);
|
||||
super(parent, "Mode Plein Ecran");
|
||||
|
||||
addActionListener(e -> {parent.pleinEcran();});
|
||||
|
||||
setRaccourcis(KeyEvent.VK_F11);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,22 +2,18 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class Quitter extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class Quitter extends MenuItem {
|
||||
|
||||
public Quitter(IhmPdf parent) {
|
||||
super("Quitter");
|
||||
this.parent = parent;
|
||||
super(parent, "Quitter");
|
||||
|
||||
addActionListener(e -> {parent.quitter();});
|
||||
addActionListener(e -> {
|
||||
parent.quitter();
|
||||
});
|
||||
|
||||
KeyStroke raccourciQuitter = KeyStroke.getKeyStroke(KeyEvent.VK_Q,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciQuitter);
|
||||
setRaccourcis(KeyEvent.VK_Q, KeyEvent.CTRL_DOWN_MASK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,21 +2,19 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class ZoomDefaut extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class ZoomDefaut extends MenuItem {
|
||||
|
||||
public ZoomDefaut(IhmPdf parent) {
|
||||
super("Zoom 100%");
|
||||
this.parent = parent;
|
||||
super(parent, "Zoom 100%");
|
||||
|
||||
KeyStroke raccourciZoomDefaut = KeyStroke.getKeyStroke(KeyEvent.VK_L,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciZoomDefaut);
|
||||
addActionListener(e -> {parent.zoomDefaut();});
|
||||
addActionListener(e -> {
|
||||
parent.getPdfPanel().updateScale(1.0f);
|
||||
parent.validate();
|
||||
});
|
||||
|
||||
setRaccourcis(KeyEvent.VK_L, KeyEvent.CTRL_DOWN_MASK);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -2,21 +2,19 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class ZoomMoins extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class ZoomMoins extends MenuItem {
|
||||
|
||||
public ZoomMoins(IhmPdf parent) {
|
||||
super("Zoom 50%");
|
||||
this.parent = parent;
|
||||
super(parent, "Zoom 50%");
|
||||
|
||||
KeyStroke raccourciZoomMoins = KeyStroke.getKeyStroke(KeyEvent.VK_K,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciZoomMoins);
|
||||
addActionListener(e -> {parent.zoomMoins();});
|
||||
addActionListener(e -> {
|
||||
parent.getPdfPanel().updateScale(0.5f);
|
||||
parent.validate();
|
||||
});
|
||||
|
||||
setRaccourcis(KeyEvent.VK_K, KeyEvent.CTRL_DOWN_MASK);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,20 +2,19 @@ package lecteur_pdf.menuBar.menuItems;
|
||||
|
||||
import lecteur_pdf.IhmPdf;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.event.KeyEvent;
|
||||
|
||||
public class ZoomPlus extends JMenuItem {
|
||||
|
||||
IhmPdf parent;
|
||||
public class ZoomPlus extends MenuItem {
|
||||
|
||||
public ZoomPlus(IhmPdf parent) {
|
||||
super("Zoom 150%");
|
||||
this.parent = parent;
|
||||
KeyStroke raccourciZoomPlus = KeyStroke.getKeyStroke(KeyEvent.VK_M,
|
||||
KeyEvent.CTRL_DOWN_MASK);
|
||||
setAccelerator(raccourciZoomPlus);
|
||||
addActionListener(e -> {parent.zoomPlus();});
|
||||
super(parent, "Zoom 150%");
|
||||
|
||||
addActionListener(e -> {
|
||||
parent.getPdfPanel().updateScale(1.5f);
|
||||
parent.validate();
|
||||
});
|
||||
|
||||
setRaccourcis(KeyEvent.VK_M, KeyEvent.CTRL_DOWN_MASK);
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user