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