Imprimer un conteneur deux fois
Bonjour,
Je souhaiterais imprimer 2 fois le même conteneur panelImpression l'un en dessous de l'autre !
J'ai pour l'instant ceci, recopié de la FAQ (ça fonctionne très bien, mais n'imprime qu'une seule fois) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| PrintJob job = getToolkit().getPrintJob(new JFrame(), "Impression", null);
if (job != null) {
/** Recupere le Graphics dans lequel on va ecrire */
Graphics g = job.getGraphics();
if (g != null) {
panelImpression.setVisible(true);
/** Sur le Container imprime l'ensemble de ses Components */
panelImpression.printAll(g);
// AJOUT ICI
g.dispose();
}
/** Finit le travail */
job.end();
panelImpression.setVisible(false);
} |
J'ai trouvé la fonction copyArea() de Graphics qui a l'air sympatoche, donc j'ai essayé de rajouter ceci à l'endroit indiqué :
Code:
g.copyArea(0, 0, 210, 90, 0, 90);
Cependant, j'ai l'erreur suivante :
Citation:
Exception in thread "AWT-EventQueue-0" java.lang.InternalError: transformed copyArea not implemented yet
at sun.java2d.SunGraphics2D.doCopyArea(SunGraphics2D.java:1999)
at sun.java2d.SunGraphics2D.copyArea(SunGraphics2D.java:1977)
at sun.print.ProxyGraphics2D.copyArea(ProxyGraphics2D.java:418)
at sun.print.ProxyGraphics.copyArea(ProxyGraphics.java:344)
at uem.aic.PanelGestionRegimes.bImprimerActionPerformed(PanelGestionRegimes.java:1214)
Quelqu'un connait-il une solution qui fonctionne ?
D'avance merci à vous.