Problème d'impression de composants
Bonjour,
J'ai crus pouvoir imprimer de manière simple en donnant simplement les référence des composant d'une fenêtre à une classe qui implemente Printable
Problème :
Ces lignes impriment bel et bien le texte voulu.
Code:
1 2 3 4 5 6
|
public int print(Graphics g, PageFormat pageFormat, int index)
Point p = new Point();
g2.drawString"Teste"p.x, p.y); |
En revanche quand j'écris des lignes tel que :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| p.translate(0,(int) (p.y + text.getBounds().getHeight() + 20));
public PrintManager (FrmLieuAAdditionner frmLieu, int nbOfPage, JPanel[] panel) {
this.tabComponnent = panel;
}
}
public int print(Graphics g, PageFormat pageFormat, int index)
throws PrinterException {
p.translate(100,100));
// l'impression des composant graphique échoue
for (int i = 0; i < tabComponnent.length; i++) {
tabComponnent[i].paint(g);
p.translate(0, tabComponnent[i].getHeight()); |
Et il m'est impossible de positionner un composant sur la feuille à imprimer avec la méthode paint qui n'a pas de paramètre de positionnement est commance toujours au point 0,0.
L'une des façon de résoudre ce problème aurait été d'utiliser drawimage mais je ne sais pas comment faire pour mettre le dessin d'un composant dans une image.
En plus, je voulais utiliser un layout pour l'impression mais je n'ai pas réussi.
Conclusion : Quand on veux faire simple, ça peut devenir très compliqué.
Merci pour votre aide
Salutations