mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-05-13 17:11:51 +00:00
Feature fullscreen
This commit is contained in:
@@ -40,6 +40,8 @@ public class Fenetre extends JFrame {
|
||||
/** Défini la disposition d'affichage des pages du document PDF */
|
||||
private boolean affichageVertical;
|
||||
|
||||
private boolean fullscreen;
|
||||
|
||||
/**
|
||||
* Crée une nouvelle fenêtre contenant un Menu
|
||||
*/
|
||||
@@ -56,6 +58,8 @@ public class Fenetre extends JFrame {
|
||||
menu = new Menu(this);
|
||||
this.setJMenuBar(menu);
|
||||
|
||||
fullscreen = false;
|
||||
|
||||
/* Definis l'affichage Vertical comme affichage par défaut */
|
||||
this.affichageVertical = true;
|
||||
|
||||
@@ -172,4 +176,26 @@ public class Fenetre extends JFrame {
|
||||
public void setAffichageVertical(boolean affichageVertical) {
|
||||
this.affichageVertical = affichageVertical;
|
||||
}
|
||||
|
||||
public boolean isFullscreen() {
|
||||
return fullscreen;
|
||||
}
|
||||
|
||||
public void setFullscreen() {
|
||||
GraphicsEnvironment graphics =
|
||||
GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||
GraphicsDevice device = graphics.getDefaultScreenDevice();
|
||||
|
||||
dispose();
|
||||
fullscreen = !fullscreen;
|
||||
if (fullscreen) {
|
||||
setUndecorated(true);
|
||||
device.setFullScreenWindow(this);
|
||||
} else {
|
||||
device.setFullScreenWindow(null);
|
||||
setUndecorated(false);
|
||||
}
|
||||
setVisible(true);
|
||||
repaint();
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@ package lecteur_pdf.menu;
|
||||
import lecteur_pdf.affichage.Fenetre;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.io.File;
|
||||
@@ -213,14 +212,19 @@ public class Menu extends JMenuBar {
|
||||
final int QUITTER = 1;
|
||||
|
||||
final String[][] POPUPS_MSG = {
|
||||
{"Fermer le PDF actuel", "Êtes-vous sûr de vouloir fermer le PDF Courant ?"},
|
||||
{"Fermer le PDF actuel", "Êtes-vous sûr de vouloir fermer le PDF "
|
||||
+ "courant ?"},
|
||||
{"Quitter l'application", "Êtes-vous sûr de vouloir quitter ?"}
|
||||
};
|
||||
|
||||
|
||||
|
||||
switch (choice) {
|
||||
case "Ouvrir" -> {
|
||||
if (FENETRE.isFullscreen()) {
|
||||
FENETRE.setFullscreen();
|
||||
}
|
||||
File fichier = SelectionnerFichier.ouvrirFichier();
|
||||
|
||||
if (FENETRE.haveDocument()
|
||||
&& popupConfirmation(POPUPS_MSG[FERMER])
|
||||
!= JOptionPane.OK_OPTION) {
|
||||
@@ -237,6 +241,9 @@ public class Menu extends JMenuBar {
|
||||
}
|
||||
}
|
||||
case "Fermer" -> {
|
||||
if (FENETRE.isFullscreen()) {
|
||||
FENETRE.setFullscreen();
|
||||
}
|
||||
if (FENETRE.haveDocument()
|
||||
&& popupConfirmation(POPUPS_MSG[FERMER])
|
||||
== JOptionPane.OK_OPTION) {
|
||||
@@ -244,6 +251,9 @@ public class Menu extends JMenuBar {
|
||||
}
|
||||
}
|
||||
case "Quitter" -> {
|
||||
if (FENETRE.isFullscreen()) {
|
||||
FENETRE.setFullscreen();
|
||||
}
|
||||
int option = popupConfirmation(POPUPS_MSG[QUITTER]);
|
||||
|
||||
if (option == JOptionPane.OK_OPTION) {
|
||||
@@ -251,19 +261,7 @@ public class Menu extends JMenuBar {
|
||||
}
|
||||
}
|
||||
case "Mode plein écran" -> {
|
||||
GraphicsEnvironment graphics =
|
||||
GraphicsEnvironment.getLocalGraphicsEnvironment();
|
||||
GraphicsDevice device = graphics.getDefaultScreenDevice();
|
||||
FENETRE.dispose();
|
||||
if (FENETRE.isUndecorated()) {
|
||||
device.setFullScreenWindow(null);
|
||||
FENETRE.setUndecorated(false);
|
||||
} else {
|
||||
FENETRE.setUndecorated(true);
|
||||
device.setFullScreenWindow(FENETRE);
|
||||
}
|
||||
FENETRE.setVisible(true);
|
||||
FENETRE.repaint();
|
||||
FENETRE.setFullscreen();
|
||||
}
|
||||
case "Zoom 150%" -> {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user