Drucken mit Rand

Hi, habe folgendes Problem:
ich drucke mein Container mit meinem Drucker, aber er macht kein Rand das heißt Aktuell scheidet mein Drucker links, oben und rechts etwas ab.
Wie mache ich alles kleiner so das ein Rand entsteht?

Hier mein Quellcode:
public void drucken_ActionPerformed(ActionEvent evt) {
PrintJob prjob = getToolkit().getPrintJob( this, „Druck“, null );
if( null != prjob )
{
final int iPageResol = prjob.getPageResolution();
Graphics pg = prjob.getGraphics();
if( null != pg && 0

Lg Dennis

Hallo Denni,

also, du könntest das Graphics Objekt zu Graphics2D casten und dann transformieren. Damit bekämst den linken und oberen Rand weg, was ja schonmal ein Anfang wäre. Dann könntest du es noch runterskalieren, damit es kleiner wird und auch der rechte Rand verschwindet.

Aaaaber.
Das ist mit Sicherheit nicht der richtige Weg.
Wenn ich mir das Printing Tutorial von Java so anschaue, dann kann -und daher sogar muss- das anders und zwar drucker- und situationsabhängig realisiert werden. Es sei denn, du gibst dich erstmal damit zufrieden… aber wenn es dann jemand anderes auf seinem Durcker ausdrucken will, ist es sehr wahrscheinlich, dass es bei ihm nicht passt.

Deswegen:
Mit PrinterJob und Printable arbeiten, weil du dann auch noch das Druckeinstellungsfenster anzeigen lassen kannst.
Du kannst dann in der print(Graphics g, PageFormat pf, int page) Methode mit Hilfe des PageFormat Objekts feststellen, wie groß der druckbare Bereich ist und wie weit du das Graphics2D Objekt transformieren und runterskalieren musst.
Bitte nicht die paint(Graphics g) methode deines fensters benuzten, sondern printAll(Graphics g)! Es macht zwar in deinem Fall wahrscheinlich keinen Unterschied aber es kann sein, dass manche Komponenten die print(Graphics g) Methode anders implementiert haben als die paint(Graphics g) Methode.

Gruß
Swen

Hi, schon gelöst. Mit ein bisschen herumprobieren :smiley:

Noch ma der Lösungs-Code:
public void drucken_ActionPerformed(ActionEvent evt) {
PrintJob prjob = getToolkit().getPrintJob( this, "Bilanz vom "+dk.format(dt), null );
if( null != prjob ){
final int iPageResol = prjob.getPageResolution();
Graphics pg = prjob.getGraphics();
if( null != pg && 0

Lg Denni