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

2D Java Discussion :

[Impression] Problème de mise en page


Sujet :

2D Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 43
    Points
    43
    Par défaut [Impression] Problème de mise en page
    Salut,
    J’espère que je suis dans le bon forum.
    Je voudrai imprimer un ticket pour un point de ventre (ex : magasin) en java.
    J’ai développé la classe suivante :

    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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    package src;
     
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.print.PageFormat;
    import java.awt.print.Printable;
    import java.awt.print.PrinterException;
    import java.awt.print.PrinterJob;
     
    import src.pos.article.ArticleList;
    import src.pos.order.Order;
     
    public class PrintTicket implements Printable{
    	private Ticket ticket;
    	private int x;
    	private int y;
     
    	public PrintTicket() {
    		init();
    	}
     
    	public PrintTicket(Ticket ticket) {
    		init();
    		this.ticket = ticket;
    	}
     
    	private void init(){
    		x=5;
    		y=10;
    	}
     
    	  public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
    		  Order order=ticket.getOrder();
    		  ArticleList articleList=ticket.getArticlesList();
              if (page > 0) { /* We have only one page, and 'page' is zero-based */
                return NO_SUCH_PAGE;
              }
              Graphics2D g2d = (Graphics2D)g;
              g2d.translate(pf.getImageableX(), pf.getImageableY());          
              g.drawString("BIENVENU", x, y);
              //y+=10;
              g.drawString("**************************************", x, (y+=10));
              //System.out.println("order.getOrderID() : "+order.getOrderID());
              g.drawString(order.getSDateNow(), x, (y+=10));
              g.drawString(order.getSHeureNow(), x, (y+=10));
              g.drawString("Commande N° : "+order.getOrderID(), x, (y+=10));
              g.drawString("**************************************", x, (y+=10));
     
              for(int i=0;i<articleList.getSize();i++){
                g.drawString(articleList.getArticle(i).getName(), x, (y+=10));
                x+=20;
                g.drawString(String.valueOf(articleList.getArticle(i).getPu()), x, (y+=10));
                x+=20;
                g.drawString(String.valueOf(articleList.getArticle(i).getQuantity()), x, (y+=10));
                x+=20;
                g.drawString(String.valueOf(articleList.getArticle(i).getPrice()), x, (y+=10));
              }
     
              /* tell the caller that this page is part of the printed document */
              return PAGE_EXISTS;
          }
     
    	  public void printTicket(){
    		  PrinterJob job = PrinterJob.getPrinterJob();
    		  //PrinterJob job = new PrinterJob();
    	      job.setPrintable(this);
    	      //boolean ok = job.printDialog();
    	      //if (ok) {
    	          try {
    	              job.print();
    	          } catch (PrinterException ex) {
    	             /* The job did not successfully complete */
    	         }
    	      //}
    	  }
     
    	public Ticket getTicket() {
    		return ticket;
    	}
     
    	public void setTicket(Ticket ticket) {
    		this.ticket = ticket;
    	}
    }
    Le problème réside dans la boucle for :
    J’ai une liste « ArticleListe » composé de plusieurs articles et je veux imprimer le nom de chaque article, sa quantité, son prix unitaire et le prix total avec les méthodes respectives :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    articleList.getArticle(i).getName(),
    articleList.getArticle(i).getPu(),
    articleList.getArticle(i).getQuantity(),
    articleList.getArticle(i).getPrice()
    Quand je décale l’axe des ordonnées (l’axe x) dans la boucle for, tous ce qui devra être imprimé se décale même ceux situé avant la boucle for
    Merci de me dire comment résoudre se problème

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 52
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
              for(int i=0;i<articleList.getSize();i++){
                // Initialisation ligne article suivant
                x=valeurInitialeX;
                y+=10;
     
                // Décalage de x mais pas de y, le décalage de y sera pour le prochain article, voir au dessus.
                g.drawString(articleList.getArticle(i).getName(), (x+=20), y);
                g.drawString(String.valueOf(articleList.getArticle(i).getPu()), (x+=20), y);
                g.drawString(String.valueOf(articleList.getArticle(i).getQuantity()), (x+=20), y);
                g.drawString(String.valueOf(articleList.getArticle(i).getPrice()), (x+=20), y);
              }

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 69
    Points : 43
    Points
    43
    Par défaut
    Merci bcp maisonneuve01 pour ta réponse

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

Discussions similaires

  1. Problème de mise en page d'impression Excel
    Par Ptchat33 dans le forum Jasper
    Réponses: 0
    Dernier message: 12/05/2009, 11h10
  2. problème de mise en page d'une zone de liste
    Par audrey_desgres dans le forum Access
    Réponses: 26
    Dernier message: 24/06/2005, 09h11
  3. [PostScript] Problème de mise en page
    Par gege2061 dans le forum Autres langages
    Réponses: 4
    Dernier message: 29/04/2005, 16h07
  4. Problème de mise en page
    Par Pill_S dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 11/01/2005, 18h35
  5. [CR]Problème de mise en page
    Par CaramelChoca dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 16/12/2004, 10h16

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