diff --git a/src/lecteur_pdf/affichage/Fenetre.java b/src/lecteur_pdf/affichage/Fenetre.java index 7fc1097..03930d0 100644 --- a/src/lecteur_pdf/affichage/Fenetre.java +++ b/src/lecteur_pdf/affichage/Fenetre.java @@ -23,7 +23,7 @@ import javax.swing.*; public class Fenetre extends JFrame { //private JFrame frame; private String titre ; - private Menu menu = new Menu(); + private Menu menu = new Menu(this); private PDF pdf ; @@ -31,7 +31,7 @@ public class Fenetre extends JFrame { public Fenetre(){ // Création du menu - Menu menu = new Menu(); + Menu menu = new Menu(this); // Ajout de la barre de menu au frame diff --git a/src/lecteur_pdf/menu/Menu.java b/src/lecteur_pdf/menu/Menu.java index b02251e..6dd397d 100644 --- a/src/lecteur_pdf/menu/Menu.java +++ b/src/lecteur_pdf/menu/Menu.java @@ -6,9 +6,13 @@ package lecteur_pdf.menu; +import lecteur_pdf.affichage.Fenetre; +import lecteur_pdf.document.PDF; + import javax.swing.*; import java.awt.event.ActionEvent; import java.io.File; +import java.io.IOException; import java.util.ArrayList; /** @@ -31,10 +35,13 @@ public class Menu { /** Création de la barre de menu */ JMenuBar menubar = new JMenuBar(); + JFrame frame; + /** * Appelle la fonction createMenuFichier */ - public Menu() { + public Menu(JFrame frame) { + this.frame = frame; createMenuFichier(); } @@ -76,7 +83,22 @@ public class Menu { public void actionPerformed(ActionEvent ae) { String choice = ae.getActionCommand(); if (choice.equals("Ouvrir")) { - fichier = SelectionnerFichier.ouvrirFichier(); + try { + PDF doc; + doc = new PDF(SelectionnerFichier.ouvrirFichier()); + /* Creation du JScrollPane contenant notre PDF pour pouvoir scroller */ + JScrollPane scrollPane = new JScrollPane(doc); + scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); + scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); + + /* Ajout du ScrollPane dans la frame et mise à jour de la frame */ + frame.add(scrollPane); + frame.validate(); + } catch (IOException e) { + e.printStackTrace(); + } + + }else if (choice.equals("Fermer")) { System.exit(0); // TODO à changer pour que ça quitte vraiment } diff --git a/src/lecteur_pdf/menu/SelectionnerFichier.java b/src/lecteur_pdf/menu/SelectionnerFichier.java index 7e632f4..5ab42d4 100644 --- a/src/lecteur_pdf/menu/SelectionnerFichier.java +++ b/src/lecteur_pdf/menu/SelectionnerFichier.java @@ -40,9 +40,9 @@ public class SelectionnerFichier { File file; int returnValue = fileChooser.showOpenDialog(null); if (returnValue == JFileChooser.APPROVE_OPTION) { - file = new File(fileChooser.getSelectedFile().getPath()); + file = new File(fileChooser.getSelectedFile().getAbsolutePath()); } else { - file = null; + file = null; } return file; } diff --git a/test_pdf.pdf b/test_pdf.pdf new file mode 100644 index 0000000..0c3a03b --- /dev/null +++ b/test_pdf.pdf @@ -0,0 +1,90 @@ +%PDF-1.4 +%쏢 +5 0 obj +<> +stream +xMN0 > +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +>> +endobj +1 0 obj +<> +endobj +8 0 obj +<> +endobj +7 0 obj +<> +endobj +9 0 obj +<>stream + + + + +GPL Ghostscript 9.06 +() + +2014-12-22T00:49:20+01:00 +2014-12-22T00:49:20+01:00 +PDFCreator Version 1.6.0 + +test_wordSeb() + + + + + +endstream +endobj +2 0 obj +<>endobj +xref +0 10 +0000000000 65535 f +0000000484 00000 n +0000002268 00000 n +0000000425 00000 n +0000000284 00000 n +0000000015 00000 n +0000000265 00000 n +0000000577 00000 n +0000000548 00000 n +0000000643 00000 n +trailer +<< /Size 10 /Root 1 0 R /Info 2 0 R +/ID [<0CB231047435B33BCE0B1C6881DCF011><0CB231047435B33BCE0B1C6881DCF011>] +>> +startxref +2648 +%%EOF diff --git a/test_pdf1.pdf b/test_pdf1.pdf new file mode 100644 index 0000000..940f5d6 Binary files /dev/null and b/test_pdf1.pdf differ diff --git a/tests/lecteur_pdf/document/PageTest.java b/tests/lecteur_pdf/document/PageTest.java index 675f697..2ca5f49 100644 --- a/tests/lecteur_pdf/document/PageTest.java +++ b/tests/lecteur_pdf/document/PageTest.java @@ -1,18 +1,34 @@ package lecteur_pdf.document; -import org.junit.jupiter.api.Test; +import org.apache.pdfbox.pdmodel.PDDocument; -import static org.junit.jupiter.api.Assertions.*; +import javax.swing.*; +import java.awt.*; +import java.io.File; +import java.io.IOException; class PageTest { - @Test - void getHauteur() { - //TODO - } + /** + * Test du constructeur {@link Page#Page(PDDocument, int)} + * + * @param args non utilisé + */ + public static void main(String[] args) throws IOException { + /* Mise en place du JFrame de test */ + JFrame frame = new JFrame(); + frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frame.setLocationRelativeTo(null); + frame.setSize(300, 300); + frame.setBackground(Color.gray); + frame.setVisible(true); - @Test - void getLargeur() { - // TODO + /* Creation de l’objet Page */ + PDDocument document = PDDocument.load(new File("F:/test_pdf1.pdf")); + Page page = new Page(document, 0); + + /* Ajout de l’objet dans la frame et mise à jour de la frame */ + frame.add(page); + frame.validate(); } } \ No newline at end of file diff --git a/tests/lecteur_pdf/menu/MenuTest.java b/tests/lecteur_pdf/menu/MenuTest.java index c79b605..4bc414d 100644 --- a/tests/lecteur_pdf/menu/MenuTest.java +++ b/tests/lecteur_pdf/menu/MenuTest.java @@ -31,7 +31,7 @@ class MenuTest { final String[] itemAttendu = {"Ouvrir", "Fermer"}; - Menu menuTest = new Menu(); + Menu menuTest = new Menu(new JFrame()); ArrayList menuItemTest = menuTest.getMenuItems(); for (int i = 0; i < menuItemTest.size(); i++) { @@ -44,7 +44,7 @@ class MenuTest { final String[] itemAttendu = {"Ouvrir", "Fermer"}; - Menu menuTest = new Menu(); + Menu menuTest = new Menu(new JFrame()); for (int i = 0; i < itemAttendu.length; i++) { assertEquals(menuTest.getMenuItem(i).getText(), itemAttendu[i]); @@ -57,7 +57,7 @@ class MenuTest { JFrame frame = new JFrame("Menu ouverture"); // Créer le Menu - Menu menu = new Menu(); + Menu menu = new Menu(new JFrame()); // Ajouter la barre de menu au frame frame.setJMenuBar(menu.getMenuBar()); diff --git a/tests/lecteur_pdf/menu/SelectionnerFichierTest.java b/tests/lecteur_pdf/menu/SelectionnerFichierTest.java index ed930ca..d5b1f55 100644 --- a/tests/lecteur_pdf/menu/SelectionnerFichierTest.java +++ b/tests/lecteur_pdf/menu/SelectionnerFichierTest.java @@ -11,10 +11,14 @@ import javax.swing.*; class SelectionnerFichierTest { - @Test - void ouvrirFichier() { - JFrame frame = new JFrame("Menu ouverture"); - Menu menu = new Menu(); + /** + * TODO comment main + * + * @param args + */ + public static void main(String[] args) { + JFrame frame = new JFrame("Test Menu ouverture"); + Menu menu = new Menu(frame); frame.setJMenuBar(menu.getMenuBar()); frame.setSize(300,300); frame.setLayout(null);