Merge remote-tracking branch 'refs/remotes/origin/main'

# Conflicts:
#	tests/lecteur_pdf/document/PDFTest.java
This commit is contained in:
leofranch
2021-11-28 19:40:46 +01:00
8 changed files with 154 additions and 22 deletions
+2 -2
View File
@@ -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
+24 -2
View File
@@ -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
}
@@ -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;
}
+90
View 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*¨âxRªÚƒ­ÿó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
BIN
View File
Binary file not shown.
+25 -9
View File
@@ -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 lobjet Page */
PDDocument document = PDDocument.load(new File("F:/test_pdf1.pdf"));
Page page = new Page(document, 0);
/* Ajout de lobjet dans la frame et mise à jour de la frame */
frame.add(page);
frame.validate();
}
}
+3 -3
View File
@@ -31,7 +31,7 @@ class MenuTest {
final String[] itemAttendu = {"Ouvrir", "Fermer"};
Menu menuTest = new Menu();
Menu menuTest = new Menu(new JFrame());
ArrayList<JMenuItem> 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());
@@ -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);