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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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