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 :

Print sauter une ligne


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut Print sauter une ligne
    Bonjour voila j'ai implementer
    ça pour imprimer d'apres ce que j'ai vu en ligne

    mais si j'envoi un String comment je peux faire pour lui faire sauter des lignes ?

    d'avance merci
    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
    /**
     *
     * @author KarKam
     * @version 1.0
     */
     
    package output.impression;
     
    import java.awt.Graphics;
    import java.awt.Graphics2D;
     
    import java.awt.print.Printable;
    import java.awt.print.PageFormat;
     
    public class DocImprimable implements Printable {
        private String monTexte;
     
        public DocImprimable(){
     
        }
     
        public DocImprimable(String texte){
            this.monTexte=texte;
        }
     
        public int print(Graphics g,PageFormat orient,int nbCopy){
            if(nbCopy>0){
                return Printable.NO_SUCH_PAGE;
            }else{
                Graphics2D g2d = (Graphics2D)g;
                g2d.translate(orient.getImageableX(), orient.getImageableY());
                g.drawString(this.monTexte, 100, 100);
                return Printable.PAGE_EXISTS;
            }
        }
    }

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    tu peut utiliser le caractère \n

  3. #3
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    non non

    ça marche pour les fichier textes t'as raison mais pas pour ma question

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Par défaut
    le drawString() ne comprend pas les \n c'est bien ça ?
    Dans ce cas peut-être:
    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
     
    public int print(Graphics g,PageFormat orient,int nbCopy){
            if(nbCopy>0){
                return Printable.NO_SUCH_PAGE;
            }else{
                Graphics2D g2d = (Graphics2D)g;
                g2d.translate(orient.getImageableX(), orient.getImageableY());
    String tmp = text;
    ArrayList<String> lignes = new ArrayList<String>();
    int i = 0;
    while(i<tmp.length){
    if(tmp.charAt(i)=='\n'){
    lignes.add(tmp.substring(0,i));
    tmp = tmp.subString(i,tmp.length);
    }//if
    i++;
    }//while
    int j = 0;
    for(String s : lignes){
    g.drawString(s, 100, 100+j*10);
    j++;
    }
    return Printable.PAGE_EXISTS;
    }
    }

  5. #5
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    merci c sympa je me suis inspiré de ton info
    merciiiii

    mais j'ai utilisé un split
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String[] tabTexte = this.monTexte.split("\r\n");
                Graphics2D g2d = (Graphics2D)g;
                g2d.translate(orient.getImageableX(), orient.getImageableY());
                for(String s : tabTexte){
                g.drawString(s, 100, 10+h);
                h+=10;
                }

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 904
    Billets dans le blog
    54
    Par défaut
    Sinon tu peux faire du layout de texte plus avance : la Font et le LineMetrics peuvent te retourner des informations plus precies sur les diffentes hauteurs d'un texte (ascent, descent, leading (l'espace interligne) etc...). Et LineBreakMeasurer et TextLayout peuvent egalement peut-etre aider pour cela (a tester).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

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

Discussions similaires

  1. Comment sauter une ligne lors de l'ecriture dans un fichier
    Par Harald dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 29/05/2009, 18h01
  2. sauter une ligne avec Layout...
    Par youp_db dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 16/12/2005, 19h54
  3. [D7] Comment sauter une ligne dans un titre de grid ?
    Par Magnus dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2005, 12h47
  4. [langage] Sauter une ligne en ecrivant dans un fichier
    Par mickey02 dans le forum Langage
    Réponses: 3
    Dernier message: 17/03/2005, 18h02
  5. [word] Sauter une ligne
    Par webbulls dans le forum Bases de données
    Réponses: 2
    Dernier message: 29/05/2004, 10h50

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