Il y a aussi ce champs : page3 de type Printable. Je vois pas bien à quoi il sert...
Oui je sais, c'est une ancienne ligne de code. Je l'ai enlevé.
Sinon
Soit tu déclares ton pageFormat en temps que variable et tu l'affectes avec un nouvel objet PageFormat (en faisant new PageFormat()).
J'ai choisis cette solution.
Ca me donne une nouvelle mouture de mon programme :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
public class GestionImprimer implements ActionListener /**Evènement du sous-item 'internet'**/
{
public Page3 page;
GestionImprimer (Page3 page)
{
this.page = page;
}
PageFormat pageFormat = new PageFormat();
/**
* Methode pour lancer L'impression
* @param e ActionEvent
// */
public void actionPerformed(ActionEvent ev) {
Variable.out.println("4");
PrinterJob printerJob = PrinterJob.getPrinterJob();
Variable.out.println("5");
if (pageFormat == null) pageFormat = printerJob.defaultPage();
Variable.out.println("6");
printerJob.setPrintable(new Page3(retouracceuil));
Variable.out.println("7");
if(printerJob.printDialog()){
try
{
Variable.out.println("7");
printerJob.print();
Variable.out.println("8");
}
catch (Exception PrintException)
{
}
}
}
} |
Le programme appelle bien la méthode print et ouvre un PDFCreator mais ce ne sont que des pages blanche.
D'un autre côté, si je suis le programme de ton lien qui est normalement un bon modèle pour ce que je veux faire et que je remplace donc la ligne :
printerJob.setPrintable(new Page3(retouracceuil));
par la ligne
printerJob.setPrintable(page, pageFormat);
eh bien le programme ne rentre même pluis dans la méthode print et n'affiche pas de PDFCReator.
Je ne sais plus quoi trop penser..
Partager