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 :

Impression JTable en Graphics2D


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut Impression JTable en Graphics2D
    Bonjour à tous,

    Je suis en train d'écrire une classe D'impression.

    Dans cette classe d'impression, je pourrais imprimer des JPanel ou des JTable.
    Pour cela je convertis le panel et le JTable en graphics2D.
    Tous dans cette même classe pour standardiser l'impression.

    Mais concernant la JTable, Je n'ai que le contenu de la JTable et plus les entêtes .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Graphics2D g2d = (Graphics2D)g;
            table.paint(g2d);
    J'ai également essayé:
    ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    table.paintComponents(g2d);
    Toujours pas d'entêtes de JTable!

    Merci pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut
    EDIT> J'ai résolu mon problème

  3. #3
    Membre confirmé Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 70
    Par défaut
    Bonjour,

    Content que ça soit résolu mais j’apprécierais de savoir comment.

    Bonne année à tous.

    Danilo

  4. #4
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2008
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2008
    Messages : 382
    Par défaut
    Enfaite j'ai abandonné mon idée sur la conversion en graphics2D.
    Je cherchais a imprimer une JTables avec un en-tête, un pied de page. Et pré-sélectionner les marges.

    Ce que j'ai réussi a faire finalement avec table.print();
    Voici le détail:
    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
    public void impressionJtable(final JTable tableau, final String titre) {
    		imprimer_tableau = new JMenuItem(titre);
    		imprimer_tableau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_2, ActionEvent.ALT_MASK));
    		imprimer_tableau.addActionListener(new ActionListener(){
    	    	public void actionPerformed(ActionEvent e){
    	    		//Impression
    	    		Datetime date=new Datetime();
    				MessageFormat header = new MessageFormat(titre);
    				MessageFormat footer = new MessageFormat("Page {0,number,integer}"+"    -Peofofo-     Date impression : "+date.getDateAvecSlash());
    		        try {
    		        	//tableau.print(JTable.PrintMode.FIT_WIDTH, header, footer);
    		        	PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
    		        	//attr.add(OrientationRequested.LANDSCAPE);
    		        	//Marges à appliquer 
    		        	int margeGauche = 7; 
    		        	int margeDroite = 7;
    		        	int margeHaut = 12;
    		        	int margeBas = 7;
    		        	attr.add(new MediaPrintableArea(margeGauche, margeHaut, 210 - margeDroite - margeGauche, 297 - margeBas - margeHaut, MediaPrintableArea.MM));
    		        	tableau.print(JTable.PrintMode.FIT_WIDTH, header, footer, true, attr, true);
    		        } catch (java.awt.print.PrinterException e1) {
    		            System.err.format("Cannot print %s%n", e1.getMessage());
    		        }
    	    	}
    	    });
    		imprimer.add(imprimer_tableau);
    	}

  5. #5
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    bonjour,
    je voudrais juste savoir si tu arrives à changer la taille des caractères du header parce que moi j'y'arrive pas!
    merci

  6. #6
    Membre expérimenté Avatar de kalina
    Femme Profil pro
    Développeur Java
    Inscrit en
    Avril 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2009
    Messages : 220
    Par défaut
    Voici ce que j'utlise comme code et ça marche très bien, sauf que je ne peux pas agir sur le header!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     MessageFormat header = new MessageFormat("Mon entête dont j'arrive pas à rendre plus petits les caractères!");
            MessageFormat footer = new MessageFormat("Page {0,number,integer} ");
     
            try {
                jTable1.print(JTable.PrintMode.FIT_WIDTH, header,footer);
            } catch (java.awt.print.PrinterException e) {
                System.err.format("Cannot print %s%n", e.getMessage());
            }

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

Discussions similaires

  1. Impression JTable taille police
    Par Jahjouh dans le forum Composants
    Réponses: 6
    Dernier message: 01/06/2009, 13h33
  2. [Impression] [JTable] impression de plusieurs instances
    Par mitnick2006 dans le forum Composants
    Réponses: 2
    Dernier message: 26/08/2008, 15h20
  3. prob impression JTable
    Par gnaoui_9999 dans le forum Composants
    Réponses: 6
    Dernier message: 26/05/2007, 13h42
  4. Impression JTable non visible....
    Par lilou77 dans le forum Composants
    Réponses: 5
    Dernier message: 03/01/2006, 12h45
  5. [Impression] JTable avec en-tête et pied de page
    Par CheryBen dans le forum Composants
    Réponses: 4
    Dernier message: 28/09/2005, 09h03

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