mirror of
https://github.com/LucasVbr/LecteurPdfDoubleAffichage.git
synced 2026-07-09 12:47:45 +00:00
Merge remote-tracking branch 'refs/remotes/origin/main'
# Conflicts: # tests/lecteur_pdf/document/PDFTest.java
This commit is contained in:
@@ -23,7 +23,7 @@ import javax.swing.*;
|
|||||||
public class Fenetre extends JFrame {
|
public class Fenetre extends JFrame {
|
||||||
//private JFrame frame;
|
//private JFrame frame;
|
||||||
private String titre ;
|
private String titre ;
|
||||||
private Menu menu = new Menu();
|
private Menu menu = new Menu(this);
|
||||||
private PDF pdf ;
|
private PDF pdf ;
|
||||||
|
|
||||||
|
|
||||||
@@ -31,7 +31,7 @@ public class Fenetre extends JFrame {
|
|||||||
public Fenetre(){
|
public Fenetre(){
|
||||||
|
|
||||||
// Création du menu
|
// Création du menu
|
||||||
Menu menu = new Menu();
|
Menu menu = new Menu(this);
|
||||||
|
|
||||||
// Ajout de la barre de menu au frame
|
// Ajout de la barre de menu au frame
|
||||||
|
|
||||||
|
|||||||
@@ -6,9 +6,13 @@
|
|||||||
|
|
||||||
package lecteur_pdf.menu;
|
package lecteur_pdf.menu;
|
||||||
|
|
||||||
|
import lecteur_pdf.affichage.Fenetre;
|
||||||
|
import lecteur_pdf.document.PDF;
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -31,10 +35,13 @@ public class Menu {
|
|||||||
/** Création de la barre de menu */
|
/** Création de la barre de menu */
|
||||||
JMenuBar menubar = new JMenuBar();
|
JMenuBar menubar = new JMenuBar();
|
||||||
|
|
||||||
|
JFrame frame;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Appelle la fonction createMenuFichier
|
* Appelle la fonction createMenuFichier
|
||||||
*/
|
*/
|
||||||
public Menu() {
|
public Menu(JFrame frame) {
|
||||||
|
this.frame = frame;
|
||||||
createMenuFichier();
|
createMenuFichier();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -76,7 +83,22 @@ public class Menu {
|
|||||||
public void actionPerformed(ActionEvent ae) {
|
public void actionPerformed(ActionEvent ae) {
|
||||||
String choice = ae.getActionCommand();
|
String choice = ae.getActionCommand();
|
||||||
if (choice.equals("Ouvrir")) {
|
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")) {
|
}else if (choice.equals("Fermer")) {
|
||||||
System.exit(0); // TODO à changer pour que ça quitte vraiment
|
System.exit(0); // TODO à changer pour que ça quitte vraiment
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,9 +40,9 @@ public class SelectionnerFichier {
|
|||||||
File file;
|
File file;
|
||||||
int returnValue = fileChooser.showOpenDialog(null);
|
int returnValue = fileChooser.showOpenDialog(null);
|
||||||
if (returnValue == JFileChooser.APPROVE_OPTION) {
|
if (returnValue == JFileChooser.APPROVE_OPTION) {
|
||||||
file = new File(fileChooser.getSelectedFile().getPath());
|
file = new File(fileChooser.getSelectedFile().getAbsolutePath());
|
||||||
} else {
|
} else {
|
||||||
file = null;
|
file = null;
|
||||||
}
|
}
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
%PDF-1.4
|
||||||
|
%Çì�¢
|
||||||
|
5 0 obj
|
||||||
|
<</Length 6 0 R/Filter /FlateDecode>>
|
||||||
|
stream
|
||||||
|
xœMޱNÄ0†÷<…Çd¨ÏNœ¸^OÀÀ§l'¦Šc*¨âx’RªÚƒÿóo{BŽ@=ÿ›ivnq#¦«xì§ÎÕ�.
|
||||||
|
ÍQoŽÐÌ„WÆ „#h!¨³»ú‡À˜5Sò_a Œ&¦â§�°•Ÿƒ4‡!¢ÊÅ¿ÿÑϽwÊ%çÑC—Y4[ò/a�ö³n‡D¢
|
||||||
|
‹æhû¨Z<nØö‡�1F3Ýaj–·úì«{mùµi:uendstream
|
||||||
|
endobj
|
||||||
|
6 0 obj
|
||||||
|
180
|
||||||
|
endobj
|
||||||
|
4 0 obj
|
||||||
|
<</Type/Page/MediaBox [0 0 595 842]
|
||||||
|
/Rotate 0/Parent 3 0 R
|
||||||
|
/Resources<</ProcSet[/PDF /Text]
|
||||||
|
/Font 8 0 R
|
||||||
|
>>
|
||||||
|
/Contents 5 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
3 0 obj
|
||||||
|
<< /Type /Pages /Kids [
|
||||||
|
4 0 R
|
||||||
|
] /Count 1
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
1 0 obj
|
||||||
|
<</Type /Catalog /Pages 3 0 R
|
||||||
|
/Metadata 9 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
8 0 obj
|
||||||
|
<</R7
|
||||||
|
7 0 R>>
|
||||||
|
endobj
|
||||||
|
7 0 obj
|
||||||
|
<</BaseFont/Times-Roman/Type/Font
|
||||||
|
/Subtype/Type1>>
|
||||||
|
endobj
|
||||||
|
9 0 obj
|
||||||
|
<</Type/Metadata
|
||||||
|
/Subtype/XML/Length 1549>>stream
|
||||||
|
<?xpacket begin='' id='W5M0MpCehiHzreSzNTczkc9d'?>
|
||||||
|
<?adobe-xap-filters esc="CRLF"?>
|
||||||
|
<x:xmpmeta xmlns:x='adobe:ns:meta/' x:xmptk='XMP toolkit 2.9.1-13, framework 1.6'>
|
||||||
|
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:iX='http://ns.adobe.com/iX/1.0/'>
|
||||||
|
<rdf:Description rdf:about='uuid:81d69fb9-8bc7-11e4-0000-66b1dd18110c' xmlns:pdf='http://ns.adobe.com/pdf/1.3/'><pdf:Producer>GPL Ghostscript 9.06</pdf:Producer>
|
||||||
|
<pdf:Keywords>()</pdf:Keywords>
|
||||||
|
</rdf:Description>
|
||||||
|
<rdf:Description rdf:about='uuid:81d69fb9-8bc7-11e4-0000-66b1dd18110c' xmlns:xmp='http://ns.adobe.com/xap/1.0/'><xmp:ModifyDate>2014-12-22T00:49:20+01:00</xmp:ModifyDate>
|
||||||
|
<xmp:CreateDate>2014-12-22T00:49:20+01:00</xmp:CreateDate>
|
||||||
|
<xmp:CreatorTool>PDFCreator Version 1.6.0</xmp:CreatorTool></rdf:Description>
|
||||||
|
<rdf:Description rdf:about='uuid:81d69fb9-8bc7-11e4-0000-66b1dd18110c' xmlns:xapMM='http://ns.adobe.com/xap/1.0/mm/' xapMM:DocumentID='uuid:81d69fb9-8bc7-11e4-0000-66b1dd18110c'/>
|
||||||
|
<rdf:Description rdf:about='uuid:81d69fb9-8bc7-11e4-0000-66b1dd18110c' xmlns:dc='http://purl.org/dc/elements/1.1/' dc:format='application/pdf'><dc:title><rdf:Alt><rdf:li xml:lang='x-default'>test_word</rdf:li></rdf:Alt></dc:title><dc:creator><rdf:Seq><rdf:li>Seb</rdf:li></rdf:Seq></dc:creator><dc:description><rdf:Seq><rdf:li>()</rdf:li></rdf:Seq></dc:description></rdf:Description>
|
||||||
|
</rdf:RDF>
|
||||||
|
</x:xmpmeta>
|
||||||
|
|
||||||
|
|
||||||
|
<?xpacket end='w'?>
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
2 0 obj
|
||||||
|
<</Producer(GPL Ghostscript 9.06)
|
||||||
|
/CreationDate(D:20141222004920+01'00')
|
||||||
|
/ModDate(D:20141222004920+01'00')
|
||||||
|
/Title(\376\377\000t\000e\000s\000t\000_\000w\000o\000r\000d)
|
||||||
|
/Creator(\376\377\000P\000D\000F\000C\000r\000e\000a\000t\000o\000r\000 \000V\000e\000r\000s\000i\000o\000n\000 \0001\000.\0006\000.\0000)
|
||||||
|
/Author(\376\377\000S\000e\000b)
|
||||||
|
/Keywords()
|
||||||
|
/Subject()>>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
|
||||||
Binary file not shown.
@@ -1,18 +1,34 @@
|
|||||||
package lecteur_pdf.document;
|
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 {
|
class PageTest {
|
||||||
|
|
||||||
@Test
|
/**
|
||||||
void getHauteur() {
|
* Test du constructeur {@link Page#Page(PDDocument, int)}
|
||||||
//TODO
|
*
|
||||||
}
|
* @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
|
/* Creation de l’objet Page */
|
||||||
void getLargeur() {
|
PDDocument document = PDDocument.load(new File("F:/test_pdf1.pdf"));
|
||||||
// TODO
|
Page page = new Page(document, 0);
|
||||||
|
|
||||||
|
/* Ajout de l’objet dans la frame et mise à jour de la frame */
|
||||||
|
frame.add(page);
|
||||||
|
frame.validate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ class MenuTest {
|
|||||||
|
|
||||||
final String[] itemAttendu = {"Ouvrir", "Fermer"};
|
final String[] itemAttendu = {"Ouvrir", "Fermer"};
|
||||||
|
|
||||||
Menu menuTest = new Menu();
|
Menu menuTest = new Menu(new JFrame());
|
||||||
ArrayList<JMenuItem> menuItemTest = menuTest.getMenuItems();
|
ArrayList<JMenuItem> menuItemTest = menuTest.getMenuItems();
|
||||||
|
|
||||||
for (int i = 0; i < menuItemTest.size(); i++) {
|
for (int i = 0; i < menuItemTest.size(); i++) {
|
||||||
@@ -44,7 +44,7 @@ class MenuTest {
|
|||||||
|
|
||||||
final String[] itemAttendu = {"Ouvrir", "Fermer"};
|
final String[] itemAttendu = {"Ouvrir", "Fermer"};
|
||||||
|
|
||||||
Menu menuTest = new Menu();
|
Menu menuTest = new Menu(new JFrame());
|
||||||
|
|
||||||
for (int i = 0; i < itemAttendu.length; i++) {
|
for (int i = 0; i < itemAttendu.length; i++) {
|
||||||
assertEquals(menuTest.getMenuItem(i).getText(), itemAttendu[i]);
|
assertEquals(menuTest.getMenuItem(i).getText(), itemAttendu[i]);
|
||||||
@@ -57,7 +57,7 @@ class MenuTest {
|
|||||||
JFrame frame = new JFrame("Menu ouverture");
|
JFrame frame = new JFrame("Menu ouverture");
|
||||||
|
|
||||||
// Créer le Menu
|
// Créer le Menu
|
||||||
Menu menu = new Menu();
|
Menu menu = new Menu(new JFrame());
|
||||||
|
|
||||||
// Ajouter la barre de menu au frame
|
// Ajouter la barre de menu au frame
|
||||||
frame.setJMenuBar(menu.getMenuBar());
|
frame.setJMenuBar(menu.getMenuBar());
|
||||||
|
|||||||
@@ -11,10 +11,14 @@ import javax.swing.*;
|
|||||||
|
|
||||||
class SelectionnerFichierTest {
|
class SelectionnerFichierTest {
|
||||||
|
|
||||||
@Test
|
/**
|
||||||
void ouvrirFichier() {
|
* TODO comment main
|
||||||
JFrame frame = new JFrame("Menu ouverture");
|
*
|
||||||
Menu menu = new Menu();
|
* @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.setJMenuBar(menu.getMenuBar());
|
||||||
frame.setSize(300,300);
|
frame.setSize(300,300);
|
||||||
frame.setLayout(null);
|
frame.setLayout(null);
|
||||||
|
|||||||
Reference in New Issue
Block a user