IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

[Impression] Probleme classes Book et PrintJob


Sujet :

Documents Java

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut [Impression] Probleme classes Book et PrintJob
    Bonjour,
    j'écris car je n'ai encore trouvé aucun sujet répondant à ma question. j'espère que personne ne me répondra un RTFM!
    Voilà je souhaite imprimer plusieurs tableaux (JTable) dans mon application. Pour se faire j'utilise une instance de la classe Book dans laquelle j'ajoute des instance de la classe Printable que j'ai créé avec mes tableaux. Les tableaux ont l'air d'être ajouté car le nombre de pages au total du Book est bon, mais lorsque j'imprime, seulement la première page est imprimée.
    Je ne comprend pas d'où ça vient!
    Voici le code:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    try 
    {
          //Création du printerJob
          PrinterJob job = PrinterJob.getPrinterJob();
          //Creation du format des pages
          PageFormat pop  = job.defaultPage();
          //mise en paysage
          pop.setOrientation(PageFormat.LANDSCAPE);
          //Création du Book
          Book book = new Book();
          //Boucle d'ajout des impressions des tableaux pour chaque objet
          for(int i =0; i < MyArrayList.size();i++)
          {
     
                //AJOUT DU PREMIER TABLEAUX:
                //Création du modele
                TBH = new TableModelHisto(2);
                //Ajout des infos au modele
                TBH.AjoutsInfos((MyObj)MyArrayList.get(i), 1,getDateHisto().getDate());
                //Creation de l'entete de la page d'impression
                headerFormat = new MessageFormat("Traitement 1 Element n°"+((MyObj)MyArrayList.get(i)).getId());
                //Création du pide de page de la page d'impression
                footerFormat = new MessageFormat("Page {0}");
                //Ajout du contenu à la page d'impression (recupération de l'image du tableaux)
                printable = TabHisto.getPrintable(JTable.PrintMode.FIT_WIDTH,headerFormat,footerFormat);
                //Ajout de la page au livre
                book.append(printable, pop);
     
                //AJOUT DU DEUXIEME TABLEAUX : MEME OPERATION
                //Les données sont définies par le modèle
                TBH = new TableModelHisto(2);
                getTabHisto().setModel(TBH);
                TBH.AjoutsInfos((MyObj)MyArrayList.get(i), 2,getDateHisto().getDate());
                 headerFormat = new MessageFormat("Traitement 2 Element n°"+((MyObj)MyArrayList.get(i)).getId());
                 footerFormat = new MessageFormat("Page {0}");
                 printable =    TabHisto.getPrintable(JTable.PrintMode.FIT_WIDTH,headerFormat,footerFormat);
                 book.append(printable, pop);
     
          }
          //Attribution du book au PrinterJob
          job.setPageable(book);
          //Affichage de la boite de dialogue d'impression
          boolean printAccepted = job.printDialog();
          //Si l'impression n'est pas annulée
          if (printAccepted) 
          {
                  //Impression
    	      job.print();
          }
    }
     catch(Exception PrintException)
    {}
    Merci par avance!!!!!!!!!!

  2. #2
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Please Help Me
    Je crois que j'ai compris l'origine de mon probleme, mais je ne comprend toujours pas pourquoi!
    Apparemment mon instance de PrinterJob ne récupère pas les infos. J'ai fait par exemple un test: Dans la boite de dialogue, j'ai spécifié que je voulais plusieurs copies de la même page, mais il ne m'est sorti toujours qu'une seule page!
    Si quelqu'un pouvait m'aider, car je crois que vais finir chauve à force de m'arracher les cheveux!!!

    MERCI PAR AVANCE
    (MAIS AIDER MOI ARRRRG S'IL VOUS PLAIT)

  3. #3
    Futur Membre du Club
    Profil pro
    Développeur Java
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    J'ai exactement le même problème que toi!

    Pas de souci pour imprimer 1 page, mais dès que je veux plusieurs pages (donc ajouté au book), je n'obtiens qu'une seule page à l'impression.

    Si quelqu'un a une idée ou un début de solution, merci par avance!

    Mon code ci-dessous:

    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
    17
    18
    19
     
    PrinterJob printJob = PrinterJob.getPrinterJob();
    printJob.setPrintable(jPanelApercu1);
    printJob.setPrintable(jPanelApercu2);
    Book book = new Book() ;
    book.append(jPanelApercu1, printJob.defaultPage()) ;
    book.append(jPanelApercu2, printJob.defaultPage()) ;
    printJob.setPageable(book) ;
    if(printJob.printDialog())
    {
    	try
    	{
    		printJob.print();
    	}
    	catch (Exception pe)
    	{
    		System.out.println(pe);
    	}
    }

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Svp Help Me
    Bonjour,
    Sinon est-ce que quelqu'un connaitrait une API qui me permettrait d'imprimer avec plus de facilité (une API gratuite évidemment)?????

    MERCI D'avance

Discussions similaires

  1. hibernate problem (classe not mapped)
    Par oughlad dans le forum Hibernate
    Réponses: 11
    Dernier message: 25/06/2007, 19h57
  2. probleme classe non trouvee
    Par foulla002 dans le forum Langage
    Réponses: 19
    Dernier message: 26/07/2006, 14h46
  3. probleme classe et chaines de caractères
    Par oilv dans le forum C++
    Réponses: 12
    Dernier message: 18/02/2006, 10h01
  4. [Impression]Problème avec Laser
    Par Cyborg289 dans le forum Général Java
    Réponses: 4
    Dernier message: 01/12/2005, 14h55
  5. [Impression] Probleme d'échelle/résolution
    Par Dajon dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/05/2003, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo