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

Interfaces Graphiques en Java Discussion :

imprimer domaine de texte?


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut imprimer domaine de texte?
    J'ai une fenetre qui s'ouvre avec plusieurs JTextField et j'aimerai imprimer tous le contenu des différents JTextField.

    Est ce que vous pouriez me dire comment il faut faire?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tiens une petite classe qui peut faire ce que tu veut faire :

    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
    
    package src;
    import java.awt.*;
    import java.awt.print.*;
    /**
    * Classe qui va s'occuper d'imprimer un message
    * @author Wichtounet
    *
    */
    public class Print implements Printable{
    String toPrint[];
     
    /**
    * Constructeur de la classe
    * @param toPrint Chaine de caractères à imprimer
    */
    public Print(String toPrint){
    this.toPrint = toPrint.split("\n");
    }
     
    /**
    * Fonction qui imprime le message
    */
    public int print(Graphics g, PageFormat pf, int indexPage){
    int start = 100;
     
    if(indexPage > 0) return NO_SUCH_PAGE;
    Graphics2D g2 = (Graphics2D)g;
    g2.setFont(new Font("Times New Roman", Font.PLAIN, 12));
    for(int i = 0;i < toPrint.length;i++){
    g2.drawString(toPrint[i],start,25);
    if(i == 2){start += 30;}
    else{start += 20;}
    }
     
    return PAGE_EXISTS;
    }
    }
    
    Et voilà comment l'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    PrinterJob tache = PrinterJob.getPrinterJob();
     
    try {tache.setPrintable(new Print("A la place de ce message, tu lui passes
     le texte de tous tes JTextField séparés par \n");
    } catch (IOException e1) {e1.printStackTrace();
    } catch (MessagingException e1) {e1.printStackTrace();}
     
    try { tache.print();
    } catch(Exception e) { System.out.println("impossible d’imprimer");}
    

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut
    je viens d'essayer mais sa ne marche pas.

    Il existe pas une autre methode?

    merci

  4. #4
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Qu'est ce qui ne marche pas, j'emploie cette classe ainsi chez moi...

    Je sais pas trop s'il existe une autre manière, sinon, tu peut aussi mettre le texte dans tout tes JTextField dans un autre composant temporaire et ensuite employer la méthode print de swing

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 93
    Par défaut
    lorsque je compil, il me dit :
    cannot access Print
    bad class file : .\Print.java
    file does not contain class Print
    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    try {tache.setPrintable(new Print("A la place de ce message, tu lui passes
     le texte de tous tes JTextField séparés par \n");
    il faut que je les mettes comment mes JTextField?
    Il faut que je fasse un JTextField.getText?
    ou j'ai juste a mettre mes noms de JTextField?

    Je vais rééssayer pour voir.

    Merci.

  6. #6
    Expert confirmé
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Par défaut
    Tu as bien ajouté la classe Print à ton projet ?

    Oui il faut faire des getText sur chacun de tes TextField et ensuite tu met s tous le texte en paramètre de la classe Print

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

Discussions similaires

  1. imprimer en mode texte
    Par olosimam dans le forum C#
    Réponses: 2
    Dernier message: 17/11/2009, 16h47
  2. comment imprimer un document texte.
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/07/2007, 12h04
  3. Imprimer un fichier texte sans l'afficher
    Par sheira dans le forum ASP
    Réponses: 7
    Dernier message: 13/12/2005, 12h10
  4. Comment imprimer un fichier text existant?
    Par AODRENN dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 17h26
  5. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 16h47

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