25. august 2002 - 16:05
Der er
4 kommentarer og 1 løsning
Print en JFrame
Hejsa Jeg ønsker at kunne printe mit indhold i en JFrame ud.. jeg har søgt flere steder men synes ikke rigtig at kunne finde noget konkret svar.. er der nogen der har noget kodeværk de kunne vise så man lige kunne få et svar på dette
Annonceindlæg tema
25. august 2002 - 16:50
#1
Når du kører metoden udskriv, udskriver den hele din frame..... public void udskriv() { RepaintManager.currentManager(this).setDoubleBufferingEnabled(false); PrinterJob pj=PrinterJob.getPrinterJob(); pj.setPrintable(Kvittering.this); pj.printDialog(); try{ pj.print(); }catch (Exception ex) {System.out.println(ex);} } public void onPrint() { PrinterJob printJob = PrinterJob.getPrinterJob(); PageFormat pf = printJob.defaultPage(); pf.setOrientation(PageFormat.PORTRAIT); printJob.validatePage(pf); printJob.setPrintable(this); if (printJob.printDialog()) { try { printJob.print(); } catch (Exception ex) { System.out.println(ex); } } } public int print (Graphics g, PageFormat pf, int pageIndex) { double escala=1; int nbPages=0; Graphics h; double pageHeight = 0; double pageWidth = 0; try { pageWidth=pf.getImageableWidth(); pageHeight=pf.getImageableHeight(); escala=pageWidth/getWidth(); System.out.println("page width : "+pageWidth); System.out.println("escala : "+ escala); nbPages=(int)Math.ceil((escala*getHeight())/pageHeight); System.out.println("num paginas : "+ nbPages); Graphics2D g2 = (Graphics2D)g; System.out.println("print page index : "+pageIndex); if (pageIndex >= nbPages) return NO_SUCH_PAGE; g2.translate(pf.getImageableX(), pf.getImageableY()); g2.translate(0f, -pageIndex*pageHeight); g2.scale(escala,escala); disableDoubleBuffering(this); this.paint(g2); enableDoubleBuffering(this); return PAGE_EXISTS; } catch (Exception e) { e.printStackTrace(); return NO_SUCH_PAGE; } }
25. august 2002 - 16:52
#2
Husk lige at lave denne linje om : pj.setPrintable(Kvittering.this); så den passer med din frame altså: pj.setPrintable(dinFrame.this);
25. august 2002 - 17:11
#3
Den siger at min frame ikke er fundet i klassen min frame skulle være erklæret
25. august 2002 - 17:18
#4
det skal være navnet på din klasse.....
11. september 2002 - 15:13
#5
lukker...
Kurser inden for grundlæggende programmering