Bin gerade dabei in mein Programm eine Druckfunktion einzubauen. Allerdings will die nicht so ganz wie ich will. Wenn ich im Druckdialog eine andere Auflösung einstelle (standardmäßig ist interessanter Weise nicht die Auflösung ausgewählt, die im System als Standard festgelegt ist), schrumpft meine Seite entweder in der linken oberen Ecke zusammen oder ich sehe nur noch ein Teil - den oben links - stark vergrößert.
Irgendwie scheint Java die DPI Zahl des Druckers nicht zu beachten. Die Seite ist immer gleich groß. Entweder müsste sich doch die Größe der Seite ändern oder Java müsste das ganze wenigstens auf die komplette Seite ziehen. Dann würden die Maße gleich bleiben, aber die Java-interne Umrechung sich halt ändern. Oder hab' ich irgendwo einen Denkfehler? :bahnhof:
Code:
/**
* Druckt die Daten aus.
* @throws Exception Wenn ein Fehler auftrat.
*/
public void print() throws Exception {
PrinterJob job;
if (this.renderer.getDataSet() == null) {
throw new DatabaseException("Die Datenmenge ist nicht gesetzt.");
}
job = PrinterJob.getPrinterJob();
job.setPrintable(this.renderer);
job.setPrintService(PrintServiceLookup.lookupDefaultPrintService());
job.setJobName("Produkuktionsmanagement - Tabelle");
if (!job.printDialog()) {
return;
}
// Drucken
job.print();
}