Bonjour,
Actuellement je fais une impression de mon composant graphique avec le code ci-dessous.
Mais j'aimerais que le composant soit peint sur la page à partir d'un point que je lui donnerais pour pouvoir laisser une marge entre le composant et le bord de la page. En effet à l'heure actuelle, il est dessiné contre le bord de la page ce qui est génant pour l'impression.
De plus ultérieurement je souhaite imprimer un 2e composant sur cette même page en dessous du premier.
Voici le code avec lequel j'imprime ma feuille :
Code :
- class PrintRapport implements Printable {
- ArrayList<Mouvement[]> donnéesAvecExclusions;
-
- /** Constructeur par défaut de PrintRectangle */
- public PrintRapport(ArrayList<Mouvement[]> donnéesAvecExclusions) {
- this.donnéesAvecExclusions=donnéesAvecExclusions;
- }
- public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException {
- // Par défaut, retourne NO_SUCH_PAGE => la page n'existe pas
- int retValue = Printable.NO_SUCH_PAGE;
-
- if(pageIndex<donnéesAvecExclusions.size())
- {
- // Récupère la dimension de la zone imprimable
- double xLeft = pageFormat.getImageableX();
- double yTop = pageFormat.getImageableY();
- double width = pageFormat.getImageableWidth();
- double height = pageFormat.getImageableHeight();
-
- AffichageRapport aff=new AffichageRapport();
- TableauRapport tableau=new TableauRapport(donnéesAvecExclusions.get(pageIndex));
- AffichageRapport.taille((int)width, (int)height);
- aff.afficher(tableau);
- tableau.paint(graphics); //dessin du JTable
- graphics.translate(50, 50);
- // La page est valide
- retValue = Printable.PAGE_EXISTS;
- }
-
-
-
- return retValue;
-
- }
- }
|
Message édité par Ceubex le 29-07-2011 à 13:07:59