bobby1112
30-06-2010, 10:18
salve ragazzi ho questo problema devo stampare un frame che contiene un pannello con delle immagini e del testo
premo il pulsante stampa
//Stampa Cliente
buttonStampaCliente.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//TODO non mi piace vuole gestita meglio dagli un okkiata domani
FramePreview framePreview=new FramePreview(gestore);
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat format = pj.defaultPage();
//PageFormat format = pj.pageDialog(pj.defaultPage());
//inverto le dimensioni perchè stampo in modo orizzontale
float pageHeight = MediaSize.ISO.A4.getX(MediaSize.INCH) * 72+50;
float pageWidth = MediaSize.ISO.A4.getY(MediaSize.INCH) * 72;
float margin = (1 / 2.54f) * 72; //1cm
Paper paper = new Paper();
paper.setImageableArea(margin, margin,585,790);
format.setPaper(paper);
format = pj.validatePage(format);
//ruoto la pagina in maniera orizzontale
format.setOrientation(PageFormat.LANDSCAPE);
RepaintManager currentManager = RepaintManager.currentManager(framePreview);
currentManager.setDoubleBufferingEnabled(true);
pj.printDialog();
pj.setPrintable(framePreview,format);
System.out.println("Area Stampabile"+margin+" "+margin+" "+pageWidth+" "+pageHeight);
try {
pj.print();
} catch (PrinterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
l' immagine viene disagnata in questo modo
@Override
public void paintComponent(Graphics graphic) {
super.paintComponents(graphic);
graphic.drawImage(logoTitolo,0,0,null);
}
ma mi viene stampata in maniera sfocata perkè?
premo il pulsante stampa
//Stampa Cliente
buttonStampaCliente.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//TODO non mi piace vuole gestita meglio dagli un okkiata domani
FramePreview framePreview=new FramePreview(gestore);
PrinterJob pj = PrinterJob.getPrinterJob();
PageFormat format = pj.defaultPage();
//PageFormat format = pj.pageDialog(pj.defaultPage());
//inverto le dimensioni perchè stampo in modo orizzontale
float pageHeight = MediaSize.ISO.A4.getX(MediaSize.INCH) * 72+50;
float pageWidth = MediaSize.ISO.A4.getY(MediaSize.INCH) * 72;
float margin = (1 / 2.54f) * 72; //1cm
Paper paper = new Paper();
paper.setImageableArea(margin, margin,585,790);
format.setPaper(paper);
format = pj.validatePage(format);
//ruoto la pagina in maniera orizzontale
format.setOrientation(PageFormat.LANDSCAPE);
RepaintManager currentManager = RepaintManager.currentManager(framePreview);
currentManager.setDoubleBufferingEnabled(true);
pj.printDialog();
pj.setPrintable(framePreview,format);
System.out.println("Area Stampabile"+margin+" "+margin+" "+pageWidth+" "+pageHeight);
try {
pj.print();
} catch (PrinterException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
l' immagine viene disagnata in questo modo
@Override
public void paintComponent(Graphics graphic) {
super.paintComponents(graphic);
graphic.drawImage(logoTitolo,0,0,null);
}
ma mi viene stampata in maniera sfocata perkè?