Merci pour la réponse .C'est ou je dois fixer la résolution s'il vous plait?
Voici mon code.
panel.setPreferredSize(new Dimension(700,600));
JButton3.addActionListener(new Impression1(panel));
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
| import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import javax.swing.JPanel;
public class Impression1 extends JPanel implements ActionListener , Printable {
JPanel frameToPrint;
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintable(this);
boolean ok = job.printDialog();
if (ok) {
try {
job.print();
} catch (PrinterException ex) {
}
}
}
@Override
public int print(Graphics g, PageFormat pf, int page) throws PrinterException {
// TODO Auto-generated method stub
if (page > 0) {
return NO_SUCH_PAGE;
}
Graphics2D g2d = (Graphics2D) g;
g2d.translate(pf.getImageableX(), pf.getImageableY());
frameToPrint.printAll(g);
return PAGE_EXISTS;
}
public Impression1(JPanel f) {
frameToPrint = f;
}
} |
Partager