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

Composants Java Discussion :

Imprimer JTable non visible


Sujet :

Composants Java

  1. #1
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut Imprimer JTable non visible
    Bonjour,

    je voudrais imprimer une JTable qui n'est pas visible, dans la mesure où elle est créée, mais elle n'est pas intégrée à un composant.

    Un peu de code pour illustrer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tblCHQ = new JTable( CDataTable ); // CDataTable étant la classe étandant AbstractTableModel, gérant les données de cette table
    scrPane = new JScrollPane( tblCHQ, ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER );
    this.add( scrPane ); // this étant une JDialog
    tblChq est imprimable sans problème...

    Dans cette même JDialog, je crée une classe basée sur une JTable, mais qui ne sera pas affichée. Elle est construite pour être imprimée simplement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tblImpression = new C_JTableImprimable( cDataImpression ); // cDataImpression étant la classe étandant AbstractTableModel, gérant les données de cette table
    Lorsque je tente d'imprimer cette dernière, j'obtient un rectangle vide, qui pourtant évolue en taille, en fonction du nombre de lignes de tblImpression.

    Ce que je constate aussi, c'est que le programme ne passe jamais par la méthode getValueAt() de cDataImpression.
    Pourtant j'ai placé quelques cDataImpression.fireTableDataChanged(), et autres tblImpression.repaint(), mais c'est sans effet.

    Avez-vous une idée ?
    @ bientôt...

    Salut & @+ sur 3W!

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Crées une fenêtre séparée (genre JWindow) dans laquelle tu mets ta JTable.
    Puis positionne cette fenêtre hors écran (avec des coordonnées ridicules).
    Ainsi le rendu de ta JTable sera correctement effectué.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre expérimenté Avatar de rtg57
    Homme Profil pro
    Autodidacte
    Inscrit en
    Mars 2006
    Messages
    1 340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 340
    Points : 1 576
    Points
    1 576
    Par défaut
    Merci Sinok,

    ta solution fonctionne
    Je ne positionne même pas les coordonnées de la JWindow:
    je la rend visible le temps d'envoyer l'ensemble à l'imprimante, puis je la rend invisible. Cela va tellement vide qu'elle ne se voit pas à l'écran.

    @ bientôt...
    @ bientôt...

    Salut & @+ sur 3W!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. JTable, JTableHeader non visible
    Par Oulalahakabu dans le forum Débuter
    Réponses: 2
    Dernier message: 27/03/2009, 11h49
  2. Impression JTable non visible....
    Par lilou77 dans le forum Composants
    Réponses: 5
    Dernier message: 03/01/2006, 12h45
  3. Capture d'une form non visible
    Par Linkin dans le forum Composants VCL
    Réponses: 3
    Dernier message: 14/04/2004, 14h58
  4. Réponses: 4
    Dernier message: 07/12/2002, 15h24
  5. Form principale non visible au demarrage!!!!
    Par toufou dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/07/2002, 21h49

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