Si ca peut aider quelqu'un, voila comment j'ai réussi mon impression
1) La Fonction d'Impression:
public void fonctionPrint(Graphics g, Dimension size)
{
/******************************************************************************/
int x1 = 90, x2 = 192, x3 = 232, x4 = 342, x5 = 392; //les positions en largeur
Font corp = new Font("Book Antiqua", 0, 8);
Font entete = new Font("Book Antiqua", Font.BOLD, 12);
int maxYpos = 769; // position de la derniere ligne
int ypos = 50; // position de depart en hauteur
/******************************************************************************/
ENTETE
/******************************************************************************/
g.setFont(entete);
String titre = "LISTE DES CLIENTS";
g.drawString(titre, x3, ypos);
ypos += 30;
g.drawString("Date d'impression", x1, ypos);
g.drawString(dateJour, 375, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 15;
g.drawString("Code", x1, ypos);
g.drawString("Nom", x2, ypos);
g.drawString("Prenom", x5, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 15;
/******************************************************************************/
CORP
/******************************************************************************/
for(int i = compteur; i < listClients.size() && ypos < maxYpos; i++)
{
g.setFont(corp);
ClassClients clt = (ClassClients)listClients.get(i); // ArrayList des Clients
g.drawString(clt.getCode(), x1, ypos);
g.drawString(clt.getNom(), x2, ypos);
g.drawString(clt.getPrenom(), x5, ypos);
ypos+= 5;
g.drawLine(80, ypos, 510, ypos);
ypos+= 10;
compteur++;
g.setFont(entete);
}
if(compteur < listClients.size()) //Si il reste des Clients
{
ypos+= 10;
g.drawString("Page: " + nbPage, 450, 790);//FIN DE PAGE
nbPage++;
}
else // Si il n'y a plus de Clients
{
g.drawString("Fin de Liste", x5, ypos);
g.drawString("page: " + nbPage, 450, 790);//FIN DE PAGE
}
}
/******************************************************************************/
/******************************************************************************/
2) L'appel de la Fonction:
String name = "Test print job";
Properties properties = new Properties();
PrintJob pj = Toolkit.getDefaultToolkit().getPrintJob(new Deposants(), name, properties);
if(pj != null)
{
compteur = 0; // Compteur de client
nbPage = 1; // Compteur de page
while (compteur < listClients.size()) // Tant qu'il y a des clients j'imprime une nouvelle page
fonctionPrint(pj.getGraphics(), pj.getPageDimension());
pj.end();
}