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

  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

  7. #7
    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 doit avoir un problème avec le package src. Il me met une erreur en rapport avec ce package.

  8. #8
    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
    Il faut pas laisser cette ligne, il faut remplacer src par le nom du package dans lequel tu as mis la classe

  9. #9
    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
    Qu'est ce que tu entend par :
    Il faut pas laisser cette ligne, il faut remplacer src par le nom du package dans lequel tu as mis la classe
    Je ne comprend pas bien ce qu'il faut faire.

    Merci.

  10. #10
    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
    Normalement, tu as tes classes dans un package non ? Alors au début de chaque classe, tu dois mettre package suivi du nom du package dans laquelle cette classe est...

    Ou alors si tu n'as pas de package, tu ne mets pas du tout ce bout de code.

  11. #11
    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
    Moi je ne fait appel a aucun package. Donc je ne met pas ce bout de code. Par contre la class Print, je la met dans un sous programme et je l'appel dans ma class principal, ou je la met dansma class principale?

    Merci pour ton aide.

  12. #12
    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
    Il faut la metre au même endroit que ta classe principale si tu veut y avoir accès sans utiliser des packages.

    Pour info, tu developpes avec quoi ?

  13. #13
    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
    J'ai fait une class Print que j'appel dans ma classe principale. Lorsque je compile il me met une erreur en me disant qu'il ne connait pas la variable MessagingException.

    Est ce que tu peut me dire a quoi sa correspond?

    Je developpe avec EditPlus.

    Merci.

  14. #14
    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
    Dsl, tu n'as pas besoin de cette ligne, j'ai oublié de l'enlever, j'en avais besoin à cause du contenu que j'imprimais...

+ 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, 17h47
  2. comment imprimer un document texte.
    Par UnSofteuxAmateur dans le forum Windows Forms
    Réponses: 7
    Dernier message: 20/07/2007, 13h04
  3. Imprimer un fichier texte sans l'afficher
    Par sheira dans le forum ASP
    Réponses: 7
    Dernier message: 13/12/2005, 13h10
  4. Comment imprimer un fichier text existant?
    Par AODRENN dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 18h26
  5. Imprimer un fichier texte avec un script vbs
    Par Persons dans le forum Windows
    Réponses: 3
    Dernier message: 23/12/2004, 17h47

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