D
Druck mich
Gast
Hallo
wie bekomme ich die standart seitenränder umgestellt, wenn ich momentan ein Objekt dieser Kalasse erzeuge habe ich immer einen Seitenrand von ca 2,5cm. (Oben links, usw.)
Zudem wie wähle ich automatisch den Satandartdrucker aus?
(Also ohne Dialogabfrage?)
wie bekomme ich die standart seitenränder umgestellt, wenn ich momentan ein Objekt dieser Kalasse erzeuge habe ich immer einen Seitenrand von ca 2,5cm. (Oben links, usw.)
Zudem wie wähle ich automatisch den Satandartdrucker aus?
(Also ohne Dialogabfrage?)
Code:
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
class Print implements Printable
{
//Vertikaltabulatoren fuer Ueberschrift, Spaltenbezeichner und 1.Pkw-Zeile
private static int vonlinks = 300,
vonoben = 50;
// Fonts fuer Ueberschrift, Spaltenbezeichner und Pkw- Zeilen
private static Font hFont = new Font("Courier",Font.BOLD,16);
private static Font sFont = new Font("Arial",Font.BOLD,12);
private static Font zFont = new Font("Arial",Font.PLAIN,10);
private Person an, von;
public Print(Person a)
{
an=a;
}
public void execute()
{
PrinterJob pjob = PrinterJob.getPrinterJob();
PageFormat pf = pjob.defaultPage();
pf=pjob.pageDialog(pf);
pjob.setPrintable(new Print(an),pf);
if ( pjob.printDialog() )
try { pjob.print(); }
catch ( PrinterException pex)
{System.out.println("PrinterException!");}
}
public int print(Graphics g,PageFormat pf,int pageIndex)
{
if( pageIndex > 0 ) return Printable.NO_SUCH_PAGE;
Graphics2D g2D = (Graphics2D) g;
g2D.translate(20,20);
drawGraphics(g2D,pf);
return Printable.PAGE_EXISTS;
}
public void drawGraphics( Graphics2D g2D,PageFormat pf)
{
g2D.setFont(sFont);
g2D.drawString(an.getvorname()+ " " + an.getname(),vonlinks,vonoben);
g2D.drawString(an.getstrasse(),vonlinks,vonoben+20);
g2D.drawString(an.getplz()+ " " + an.getort(),vonlinks,vonoben+40);
g2D.drawString(an.getland(),vonlinks,vonoben+60);
}
}