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