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 :

Respect de la mise en page lors de l'impression


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 113
    Points : 72
    Points
    72
    Par défaut Respect de la mise en page lors de l'impression
    Bonjour à tous,
    Voilà je suis en train de construire un petit petit bloc note en Java...
    Et jusque là tout se passe bien aucun soucis sauf pour l'impression ...
    Je sais que je vais fortement abuser mais voilà s'il était possible d'avoir un débogage "humain" de mon code pour savoir ce qui cloche... ce serait vraiment sympa

    Alors voilà mon problème est que lors de l'exécution de mon code le texte s'imprime mais sans créer des retour à la ligne (tout s'imprime sur une ligne) :s comment 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
    40
    41
    42
    43
    44
    45
    46
    47
     
    class Impression implements Printable
     
    {
        String phrase ;
        String font ;
        int mode ;
        int taille;
     
        public Impression(String phrase, String font, int mode, int taille)
        {
            this.phrase = phrase ;
            this.font = font ;
            this.mode = mode ;
            this.taille = taille ;
        }
        public int print(Graphics g, PageFormat pf, int indexPage) throws PrinterException
       {
            if(indexPage > 0) return NO_SUCH_PAGE;
            Graphics2D g2 = (Graphics2D)g;
            g2.setPaint(Color.black);
            g2.setFont(new Font(font, mode, taille));
            g2.drawString(phrase, 144, 144);
     
            return PAGE_EXISTS;            
        }
     
    //.........................................
     
            JMenuItem imprimer = new JMenuItem("Imprimer") ;
            fichier.add(imprimer) ;
            imprimer.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.CTRL_MASK)) ;
     
            imprimer.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent event)
                {               
                    PrinterJob tache = PrinterJob.getPrinterJob();
                    tache.setPrintable(new Impression(textArea.getText(), polices.getFontName(), mode, polices.getSize()));
                    if(! tache.printDialog()) return;
                    try {
                        tache.print();
                        } catch(Exception e) {
                            System.out.println("impossible d’imprimer");}
                        } 
            }) ;  
    }
    Merci d'avance à ceux qui se pencheront sur ma question

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Points : 1 419
    Points
    1 419
    Par défaut
    Tu dois splitter la chaîne à imprimer sur (\r\n?|\n). Et dessiner chacune des parties de la chaîne que tu obtiens.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 113
    Points : 72
    Points
    72
    Par défaut
    Et comment savoir à quel endroit splitter le texte par rapport au fait qu'on utilise une page A4 :s je dois me mettre à compter le nombre de caractère qui rentre sur une ligne et puis lui imposer un split après ce nombre de caractères?? Ou bien y aurait-il un méthode dans Printabe ou autre qui le ferait automatique selon le format de la page sur laquelle on veut imprimer?

Discussions similaires

  1. [AC-97] Mise en page lors d'un envoi par mail
    Par apprentiing dans le forum IHM
    Réponses: 3
    Dernier message: 14/06/2011, 11h51
  2. Réponses: 2
    Dernier message: 19/03/2009, 09h48
  3. Réponses: 2
    Dernier message: 03/03/2009, 12h35
  4. [HTML] Problème de mise en page lors de la première ouverture
    Par guismoman33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 08/04/2008, 14h55
  5. Conserver la mise en page lors du copy/colle
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/08/2007, 05h09

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