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

AWT/Swing Java Discussion :

Imprimer un graphique de type Graphics


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 52
    Points
    52
    Par défaut Imprimer un graphique de type Graphics
    Bonjour,

    Je suis en train de faire un programme qui genere un graphique (de type Graphics)

    J'aimerai ajouter un bouton permettant d'imprimer ce graphique

    j'ai donc fait
    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
    Properties props = new Properties();
     
        props.put("awt.print.paperSize", "a4");
        props.put("awt.print.destination", "printer");
     
     
        PrintJob pJob = getToolkit().getPrintJob(this,
    			  "Printing_Test", props);
     
     
    	if (pJob != null)
          {	
            Graphics pg = pJob.getGraphics();
            pg.dispose();
            pJob.end();
          }
    Le probleme est qu'il m'imprime une feuille blanche.
    Je vois un peu pourquoi :
    Je lui demande de recuperer le graphique en cours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics pg = pJob.getGraphics();
    mais ce graphique est situé sur une autre classe (paintComponent(Graphics g))

    Et je ne sais pas comment faire pour qu'il puisse recuperer ce graphique.

    Si quelqu'un pouvait m'eclairer...

    En vous remerciant a l'avance

    Edenyorke

  2. #2
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    Bonjour,

    je crois que tu n'as pas vraiment compris le principe des Graphics. Ce sont des objets qui permettent de dessiner de manière générale :
    - pour dessiner sur l'écran, l'EDT fournit lui même un objet de type Graphics, et appelle les méthodes paint, paintComponent, ... avec cet objet.
    - pour dessiner sur une image, on peut utiliser BufferedImage.createGraphics(), qui renvoie un objet de type Graphics, mais celui-ci dessinera sur l'image.
    - pour imprimer quelque chose, on appelle PrintJob.getGraphics(), et on dessine sur la future impression.

    Cela permet de dessiner de manière unifiée sur tous ces supports, et il est donc très facile de dessiner un composant dans une image ou d'imprimer un composant, par exemple.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    JPanel monPanel = ...;
     
    // on dessine le JPanel dans une image
    BufferedImage img = new BufferedImage(monPanel.getWidth(), monPanel.getHeight(), BufferedImage.TYPE_INT_RGB);
    Graphics imgGraphics = img.createGraphics();
    monPanel.paint(imgGraphics);
    imgGraphics.dispose();
     
    // on l'imprime
    PrintJob pJob= ...;
    Graphics printerGraphics = pJob.getGraphics();
    monPanel.paint(printerGraphics);
    printerGraphics.dispose();
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 06/08/2007, 08h33
  2. Imprimer des graphiques
    Par Pierre78 dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/06/2007, 14h26
  3. Ligne sur un graphique de type histogramme
    Par taisherg dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/06/2007, 13h16
  4. Imprimer un graphique présent dans un formulaire
    Par mathilde50 dans le forum IHM
    Réponses: 2
    Dernier message: 27/11/2006, 15h07
  5. Imprimer un graphique
    Par pianpif dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 17/07/2006, 14h12

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