OVH Cloud OVH Cloud

au secours j'arrive pas à imprimer !!

2 réponses
Avatar
aliena31
hello !

j'essaie d'imprimer une fenêtre, plus précisément un JPanel (que j'ai
appelé monPanel), et mon code est le suivant.

pkoi ça marche pas ??? (la ligne pj.setPrintable(monPanel,pf) pose
problème)


merci d'avance
aliena



PrinterJob pj=PrinterJob.getPrinterJob();
PageFormat pf=pj.defaultPage();

Paper papier=new Paper();

//config les marge automatiquement
//fait une marge de 10 mm (donc 10/25.4 pouces avec un point=1/72
pouces)
double m=10.0*72/25.4;
papier.setImageableArea(m,m,papier.getWidth()-2*m,papier.getHeight()-2*m);
pf.setPaper(papier);

//dit au PrintJob quel JComponent imprimer et quel PageFormat utiliser
pj.setPrintable(monPanel,pf);

if (pj.printDialog()) { //affiche la fenêtre de setup de l'imprimante
try { pj.print(); }
catch (Exception ex) { System.out.println("a pas pu");
ex.printStackTrace(); }
}

2 réponses

Avatar
Fabien KOCIK
Est-ce que ton composant est bien un héritier de JPanel qui implémente
l'interface "Printable" ?

@+ Fabien

"aliena31" a écrit dans le message news:

hello !

j'essaie d'imprimer une fenêtre, plus précisément un JPanel (que j'ai
appelé monPanel), et mon code est le suivant.

pkoi ça marche pas ??? (la ligne pj.setPrintable(monPanel,pf) pose
problème)


merci d'avance
aliena



PrinterJob pj=PrinterJob.getPrinterJob();
PageFormat pf=pj.defaultPage();

Paper papier=new Paper();

file://config les marge automatiquement
file://fait une marge de 10 mm (donc 10/25.4 pouces avec un point=1/72
pouces)
double m.0*72/25.4;
papier.setImageableArea(m,m,papier.getWidth()-2*m,papier.getHeight()-2*m);
pf.setPaper(papier);

file://dit au PrintJob quel JComponent imprimer et quel PageFormat
utiliser

pj.setPrintable(monPanel,pf);

if (pj.printDialog()) { file://affiche la fenêtre de setup de l'imprimante
try { pj.print(); }
catch (Exception ex) { System.out.println("a pas pu");
ex.printStackTrace(); }
}


Avatar
aliena31
(la ligne pj.setPrintable(monPanel,pf) pose
problème)
Quel probleme ? Quelle erreur ? à la compil ? au runtime ?

à la compilation, la méthode setPrintable lui plait pas