Merge remote-tracking branch 'origin/main'

# Conflicts:
#	LecteurPdfDoubleAffichage.iml
#	out/production/LecteurPdfDoubleAffichage/lecteur_pdf/document/Page.class
#	out/production/LecteurPdfDoubleAffichage/lecteur_pdf/document/Pdf.class
#	out/production/LecteurPdfDoubleAffichage/lecteur_pdf/menu/Menu.class
#	out/production/LecteurPdfDoubleAffichage/lecteur_pdf/menu/SelectionnerFichier.class
#	out/test/LecteurPdfDoubleAffichage/lecteur_pdf/document/PageTest.class
#	out/test/LecteurPdfDoubleAffichage/lecteur_pdf/document/PdfTest.class
This commit is contained in:
leofranch
2021-11-27 14:35:35 +01:00
16 changed files with 190 additions and 55 deletions
+2 -5
View File
@@ -1,8 +1,5 @@
# Meta données de IntelliJ Idea
.idea/*
# Dossiers de classes
target/*
# fichier compilés
.class/*
# Dossiers des fichiers compilés
out/
+1 -1
View File
@@ -6,7 +6,7 @@
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/tests" isTestSource="true" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="jdk" jdkName="17" jdkType="JavaSDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="pdfbox-2.0.24" level="project" />
<orderEntry type="module-library" scope="TEST">
+67 -35
View File
@@ -1,5 +1,5 @@
/*
* MenuOption.java, 20/11/2021
* MenuOptions.java, 20/11/2021
* IUT Rodez 2021-2021, INFO2
* pas de copyright, aucun droits
*/
@@ -7,10 +7,11 @@
package lecteur_pdf.menu;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
/**
* TODO class comment
* Classe pour afficher le Menu "Fichier" avec ses options
*
* @author Léo FRANCH
* @author Tristan NOGARET
@@ -20,54 +21,85 @@ import java.util.ArrayList;
*/
public class Menu {
/** Menu "Fichier" */
private JMenu Fichier;
/** Array list contenant les JMenu */
private ArrayList<JMenu> menuList = new ArrayList<JMenu>();
/** Element "Ouvrir" */
private JMenuItem Ouvrir;
/** Array list contenant les JMenuItem */
private ArrayList<JMenuItem> itemList = new ArrayList<JMenuItem>();
/** Element "Fermer" */
private JMenuItem Fermer;
ArrayList<JMenu> menu = new ArrayList<JMenu>();
ArrayList<JMenuItem> item = new ArrayList<JMenuItem>();
/** Création de la barre de menu */
JMenuBar menubar = new JMenuBar();
/**
* Appelle la fonction createMenuFichier
*/
public Menu() {
// Frame de test
JFrame frame = new JFrame("Menu ouverture");
// Création de la barre de menu
JMenuBar menubar = new JMenuBar();
// Création du menu "Fichier"
Fichier = new JMenu("Fichier");
// Créer les éléments du menu et sous menu
Ouvrir = new JMenuItem("Ouvrir");
Fermer = new JMenuItem("Fermer");
createMenuFichier();
}
/**
* Fonction pour créer le Menu fichier et ses items
*/
private void createMenuFichier() {
// Créer le Menu Fichier
JMenu Fichier = new JMenu("Fichier");
// Créer les items Ouvrir et Fermer
JMenuItem Ouvrir = new JMenuItem("Ouvrir");
JMenuItem Fermer = new JMenuItem("Fermer");
// Ajoute des Listener aux JMenuItem
Ouvrir.addActionListener(this::actionPerformed);
Fermer.addActionListener(this::actionPerformed);
// Ajouter les éléments au menu "Fichier"
Fichier.add(Ouvrir);
Fichier.add(Fermer);
// Ajouter le menu au barre de menu
// Ajouter le menu à la barre de menu
menubar.add(Fichier);
// Ajouter la barre de menu au frame
frame.setJMenuBar(menubar);
frame.setSize(300,300);
frame.setLayout(null);
frame.setVisible(true);
// Création du menu "Fichier"
menuList.add(Fichier);
// Créer les éléments du menu et sous menu
itemList.add(Ouvrir);
itemList.add(Fermer);
}
public void getMenuBar () {
// TODO Compléter la class
/**
* Méthode qui gère les actions des JMenuItem
* @param ae un action event
*/
public void actionPerformed(ActionEvent ae) {
String choice = ae.getActionCommand();
if (choice.equals("Ouvrir")) {
SelectionnerFichier.ouvrirFichier();
}else if (choice.equals("Quitter")) {
System.exit(0); // TODO à changer pour que ça quitte vraiment
}
}
public void getMenuItems () {
// TODO Compléter la class
/**
* @return le menubar
*/
public JMenuBar getMenuBar() {
return menubar;
}
public void getMenuItem (int index) {
// TODO Compléter la class
/**
* @return l'ArrayList des JMenuItem
*/
public ArrayList<JMenuItem> getMenuItems() {
return itemList;
}
public static void main(String args[])
{
new Menu();
/**
* @return l'item de l'ArrayList des JMenuBar à l'index indiqué
*/
public JMenuItem getMenuItem(int index) {
return itemList.get(index);
}
}
@@ -1,5 +1,5 @@
/*
* MenuOption.java, 18/11/2021
* MenuOptions.java, 18/11/2021
* IUT Rodez 2021-2021, INFO2
* pas de copyright, aucun droits
*/
@@ -18,7 +18,7 @@ import java.util.ArrayList;
* @author Noé VILLENEUVE
* @version 1.0
*/
public class MenuOption {
public class MenuOptions {
/* Déclaration des éléments visuels */
JFrame menuOptions = new JFrame();
+27 -12
View File
@@ -3,15 +3,15 @@
* IUT Rodez 2021-2021, INFO2
* pas de copyright, aucun droits
*/
package lecteur_pdf.menu;
import javax.swing.*;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.filechooser.FileSystemView;
import java.io.File;
/**
* TODO class comment
*
* Classe qui permet d'ouvrir une fenêtre pour sélectionner le fichier pdf à
* ouvrir
* @author Léo FRANCH
* @author Tristan NOGARET
* @author Lucàs VABRE
@@ -20,15 +20,30 @@ import java.io.File;
*/
public class SelectionnerFichier {
final String TYPE_FILE = "";
JFileChooser fileChooser = new JFileChooser();
/**
* TODO commenter la méthode
* Méthode qui créée une fenêtre pour que l'utilisateur choisisse un
* fichier PDF
* @return file le fichier choisi par l'utilisateur
*/
public File selectionnerFichier() {
// TODO
return null; // bouchon
public static File ouvrirFichier() {
JFileChooser fileChooser = new JFileChooser
(FileSystemView.getFileSystemView().getHomeDirectory());
fileChooser.setDialogTitle("Sélectionnez un PDF");
fileChooser.setMultiSelectionEnabled(false);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setAcceptAllFileFilterUsed(false);
FileNameExtensionFilter
filter = new FileNameExtensionFilter("PDF files (*.pdf)", "pdf");
fileChooser.addChoosableFileFilter(filter);
File file;
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
file = new File(fileChooser.getSelectedFile().getPath());
} else {
file = null;
}
return file;
}
}
+68
View File
@@ -0,0 +1,68 @@
/*
* MenuTest.java, 25/11/2021
* IUT Rodez 2021-2022, INFO 2
* pas de copyright, aucun droits
*/
package lecteur_pdf.menu;
import lecteur_pdf.document.Page;
import org.junit.jupiter.api.Test;
import javax.swing.*;
import java.sql.SQLOutput;
import java.util.ArrayList;
import static org.junit.jupiter.api.Assertions.*;
/**
* Tests de la classe {@link Page}
*
* @author Léo FRANCH
* @author Tristan NOGARET
* @author Lucàs VABRE
* @author Noé VILLENEUVE
*/
class MenuTest {
@Test
void getMenuItems() {
final String[] itemAttendu = {"Ouvrir", "Fermer"};
Menu menuTest = new Menu();
ArrayList<JMenuItem> menuItemTest = menuTest.getMenuItems();
for (int i = 0; i < menuItemTest.size(); i++) {
assertEquals(itemAttendu[i], menuItemTest.get(i).getText());
}
}
@Test
void getMenuItem() {
final String[] itemAttendu = {"Ouvrir", "Fermer"};
Menu menuTest = new Menu();
for (int i = 0; i < itemAttendu.length; i++) {
assertEquals(menuTest.getMenuItem(i).getText(), itemAttendu[i]);
}
}
@Test
void testMenu() {
// Frame de test
JFrame frame = new JFrame("Menu ouverture");
// Créer le Menu
Menu menu = new Menu();
// Ajouter la barre de menu au frame
frame.setJMenuBar(menu.getMenuBar());
frame.setSize(300,300);
frame.setLayout(null);
frame.setVisible(true);
}
}
@@ -0,0 +1,23 @@
package lecteur_pdf.menu;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
import java.io.File;
import lecteur_pdf.menu.Menu;
import javax.swing.*;
class SelectionnerFichierTest {
@Test
void ouvrirFichier() {
JFrame frame = new JFrame("Menu ouverture");
Menu menu = new Menu();
frame.setJMenuBar(menu.getMenuBar());
frame.setSize(300,300);
frame.setLayout(null);
frame.setVisible(true);
}
}