Feature fullscreen

This commit is contained in:
NonoL3Robot
2021-12-08 19:46:56 +01:00
parent 16538dec60
commit e052be22d5
2 changed files with 40 additions and 16 deletions
+26
View File
@@ -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();
}
}
+14 -16
View File
@@ -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 {