Bonjour,
Voila j'imprime des planning mensuel pour des techniciens, grace a la classe de mep trouvez sur ce site vraiment tranquille.
Voila comment j'ai procedé une jframe printable qui definie un jPanel en boxlayout
avec un trois jPanel entete, corps, pieds. Dans l'entete et le pieds j'ai mis des jLabel dont le texte est mis a jour en fonction de ma bdd et le corp est un jTable plutot un resultsettablemodel.
Donc j'instancie ma frame qui dans le constructeur instancie la classe de mep apres avoir mis a jour biensur les differents champs de mes jPanel.
La c nickel. Je peus imprimer n'importe planning mais pour un seul technicien.
Donc maintenant je veux pouvoir imprimer tous les planning de tous les techniciensen une seule fois. Le pb c que de cette façons j'ai le printdialog qui s'ouvre pour chaque planning :(((
J'ai donc modifier un peu le tout . Dans la jFrame je fais ma boucle pour creer les uns apres les autres les planning et je lance le printdialog juste avant que je passe en parametre à la classe de mep dans laquelle biensur je l'ai enlever :))
Et la ........... la bte de dialog d'impression s'ouvre deux fois
la premiere me permet d'imprimer uniquement le premier planning de la liste et l'autre me lance bien la totale ??????? j'y comprend rien du tout et mes bouquins de java ont appris à voler depuis peu :(
voila les bouts de code
private void bouclePrint(){
if(listeAgents!=null) {
if(printJob.printDialog()) { // la seule et unique
for(int x=0;x<listeAgents.length;x++) {
this.nomagent = listeAgents[x];
this.jL_agent.setText(nomagent);
this.idagent = ""+this.connection.getIdAgent(nomagent);
this.majChamps();
this.createTableau();
this.createTotaux();
this.pack();
this.print();
} } } }
private void print() {
//Classe de mep
C_panelPrinterListe imp = new C_panelPrinterListe(this.jP_impressions,printJob);
imp.setFitIntoPage(this.fit);
imp.setOrientation(1);
imp.setLRMargins(0);
imp.setTBMargins(0);
imp.print();
}
J'ai mis un point d'arret avec le debugger sur la ligne du printdialog et un juste apres c bien cette unique ligne qui me cree les 2 bte de dialog.
Si quelqu'un avait une petite idee je serait le plus heureux des hommes.
Merci de m'avoir lu jusqu'au bout et merci d'avance pour votre aide
Nico