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

Composants Java Discussion :

Imprimer un Jtable en A3 en paysage


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 17
    Points
    17
    Par défaut Imprimer un Jtable en A3 en paysage
    Bonjour,

    Je voudrai savoir comment faire pour que si l'on souhaite imprimer un JTable en A3 en mode Paysage en mode "FIT_WIDTH".

    Si je mets A3 dans la fenetre d'impression, le tableau ne s'étire pas jusqu'au bord de la feuille A3, (il reste en format A4).

    Le probleme est-il dans mon code java ou simplement dans les config d'impression?
    Le but final étant de pouvoir aussi imprimer en A4 voir autre avec le tbleau qui s'etire sur toute la page.

    Je vous laisse mon code de test :
    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
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.HeadlessException;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.print.PageFormat;
    import java.awt.print.PrinterException;
    import java.awt.print.PrinterJob;
    import java.util.Vector;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTable.PrintMode;
     
     
    public class testFrame extends JFrame {
     
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
    	JTable table;
     
    	public testFrame() throws HeadlessException {
    		super();
     
    		Vector<String> vectName= new Vector<String>();
    		Vector< Vector<Integer>> vectRow = new Vector<Vector<Integer>>();
    		for(int i=0;i<20;i++){
    			vectName.add(""+i);
    			Vector<Integer> v =new Vector<Integer>();
    			for(int j=0;j<20;j++){
    				v.add(i*j);
    			}
    			vectRow.add(v);
    		}
    		JScrollPane jsp= new JScrollPane(); 
    		table = new JTable(vectRow,vectName);
    		table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);//
    		jsp.setViewportView(table);
    		jsp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    		JButton buttonPrint = new JButton("Imprimer");
    		buttonPrint.addActionListener(new ActionListener(){
     
    			@Override
    			public void actionPerformed(ActionEvent arg0) {
    				printTable();
    			}
     
    		});
    		this.setLayout(new BorderLayout());
    		this.add(buttonPrint,BorderLayout.SOUTH);
    		this.add(jsp,BorderLayout.CENTER);
    		this.setVisible(true);
    		this.setSize(new Dimension(800,600));
    	}
     
    	protected void printTable() {
    		PrinterJob job = PrinterJob.getPrinterJob();
    		  //Creation du format des pages
    		PageFormat pop  = job.defaultPage();
    		  //mise en paysage
    		pop.setOrientation(PageFormat.LANDSCAPE);
    		job.setPrintable(table.getPrintable(PrintMode.FIT_WIDTH,null,null),pop);
    		if(job.printDialog()){
    			try {
    				job.print();
     
    			} catch (PrinterException e) {
    				JOptionPane.showMessageDialog(this,"Erreur d'impression :\n"+e.getMessage(),"Erreur",JOptionPane.ERROR_MESSAGE);
    				e.printStackTrace();
    			}
    		}		
    	}
     
    	public static void main(String[] args){
    		new testFrame();
    	}
    }
    si quelqu'un a une idée n'hesitez pas...

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Soit c'est un problème d'imprimante, soit c'est un bug de la JVM.
    Rien à voir avec ton code.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    ok je vais tester sur d'autre imprimantes...
    merci .

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    je viens de tester sur d'autre imprimante.
    le tableau prend la largeur d'une A4 et pas d'une A3 même si il est bien imprimé sur une feuille A3.

    Si quelqu'un a une idée, le probleme n'est pas urgent mais j'aimerai bien y arrivé.

    Y'a t'il un moyen de savoir si la personne a choisi A3 avant de lancer l'impression?

Discussions similaires

  1. comment imprimer un jtable
    Par zeero_cool dans le forum Composants
    Réponses: 4
    Dernier message: 13/09/2008, 00h16
  2. Imprimer une JTable
    Par yashiro dans le forum Composants
    Réponses: 1
    Dernier message: 26/10/2007, 14h44
  3. imprimer une JTable
    Par Stratovarius dans le forum Composants
    Réponses: 7
    Dernier message: 01/12/2006, 19h37
  4. Comment imprimer une JTable
    Par L4BiN dans le forum Composants
    Réponses: 9
    Dernier message: 03/08/2006, 16h09
  5. [Impression] Imprimer un JTable
    Par VincenzoR dans le forum Composants
    Réponses: 4
    Dernier message: 04/05/2004, 19h41

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