Waldo
-
Gesamte Inhalte
13 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von Waldo
-
-
Der absolute Oberbrutzler ist definitiv "FUNNY GAMES"!!!
Ach gut sind:
Arlington Road
very Bad Things
Der König von St. Pauli
Das letzte Einhorn
From Dusk till Dawn
The Stand - Das letzte Gefecht
Jim Knopf & Lulas der Lokomotivführer
Der Mann mit den zwei Gehirnen
-
Ich hab das jetzt anders realisiert, aber trotzdem vielen Dank für Deine ( Eure)
Bemühungen.
Gruß Walo
-
Über den PageDialog ist das möglich, diesen möchte ich allerdings nicht so gerne aufrufen, da die Seitenränder nicht veränderbar sein sollen.
-
Leider kommen dort auch immer die gleichen Werte heraus mit:
pageFormat2 = printJob.validatePage(pageFormat);
pageFormat2.getHeight();
pageFormat2.getImageableHeight();
pageFormat2.getImageableX();
Er druckt ja auch leider nicht in DIN A3.
-
Wie kann ich denn das PageFormat-Objekt abfangen, so das die Änderungen im PrintDialog übernommen werden? Ich hab keine Ahnung wie das geht
-
Leider funktioniert das so auch nicht und die Werte sind immernoch identisch
void doPrint()
{
PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = new PageFormat();
Paper ppr = pageFormat.getPaper();
if (allTracks)
pageFormat.setOrientation(PageFormat.LANDSCAPE);
else
pageFormat.setOrientation(PageFormat.PORTRAIT);
printJob.setPrintable(this, pageFormat);
if (printJob.printDialog()) {
try {
printJob.getPrintService();
System.out.println("Höhe "+pageFormat.getHeight());
System.out.println("Tiefe "+pageFormat.getWidt());
System.out.println("ImageHeigth "+pageFormat.getImageableHeight());
System.out.println("ImageWidth "+pageFormat.getImageableWidth());
System.out.println("ImageX "+pageFormat.getImageableX());
System.out.println("ImageY "+pageFormat.getImageableY());
printJob.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
}
}
public int print (Graphics g, PageFormat pageFormat, int page)
{
if (page == 0) {
buildupGraphics((Graphics2D)g, (int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
(int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
return (PAGE_EXISTS);
}
else
return (NO_SUCH_PAGE);
}
-
void doPrint()
{
PrinterJob printJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = new PageFormat();
Paper ppr = pageFormat.getPaper();
if (allTracks)
pageFormat.setOrientation(PageFormat.LANDSCAPE);
else
pageFormat.setOrientation(PageFormat.PORTRAIT);
printJob.setPrintable(this, pageFormat);
if (printJob.printDialog()) {
try {
printJob.getPrintService();
// Hier kommen bei Änderung des PrintDialoges immer identische Werte heraus
System.out.println("Höhe "+ppr.getHeight());
System.out.println("Tiefe "+ppr.getWidth());
System.out.println("ImageHeigth "+ppr.getImageableHeight());
System.out.println("ImageWidth "+ppr.getImageableWidth());
System.out.println("ImageX "+ppr.getImageableX());
System.out.println("ImageY "+ppr.getImageableY());
printJob.print();
} catch (Exception PrintException) {
PrintException.printStackTrace();
}
}
}
public int print (Graphics g, PageFormat pageFormat, int page)
{
if (page == 0) {
buildupGraphics((Graphics2D)g, (int)pageFormat.getImageableX(), (int)pageFormat.getImageableY(),
(int)pageFormat.getImageableWidth(), (int)pageFormat.getImageableHeight());
return (PAGE_EXISTS);
}
else
return (NO_SUCH_PAGE);
}
-
Leider werden bei den Methoden getWidth(), getHeight(), getImageableWidth(),
getImageableX() usw. der Klassen PageFormat bzw. Paper immer die gleichen Werte herausgegeben, egal, wenn ich beim PrintDialog bei Eigenschaften auf A3 ändere oder nicht.
-
Ich hab nochmal ne kleine Frage:
Wie kann ich die Eigenschaften des printDialoges ausgeben, also, wenn man zB auf
Eigenschaften -> DIN A3 einstellt, dann soll das Blatt auch in DIN A3 Format gedruckt werden. Wird irgeneine Eigenschaft zurückgegeben, nac der abgefragt werden kann? Welche Methode gibt diese Eigenschaft zurück?
Vielen Dank für die Hilfe.
Waldo
-
Die Werte passen bei meinem Frame nicht so ganz.
Wie hast Du sie berechnen, bzw. heraufgefunden. Was machst Du, wenn Du DIN A3 bzw. DIN A5 drucken möchtest. Es gibt also keine Methode von Java, die die Werte automatisch ausgibt für alle Blattformat.
Danke für Deine Bemühungen
-
Ich hab nochmal eine Frage
Ich möchte mit Java drucken und den Seitenrand im Quellcode definieren ( und nicht mit dem Page Dialog!).
Die Methode "setImageableArea" der Klasse Paper hab ich schon gefunden, allerdings wiß ich nicht, wie man den absoluten Wert der Seite herausbekommt, wovon ich dann einfach den Rand abziehen könnte.
Mit getImageableHeight(), getImageableWidth(), getImageableX(), getImageableY()
klappt das auch nicht so ganz.
vielen Dank im voraus
Waldo
-
Genau das meine ich, allerdings habe ich überhaupt keine Ahnung, wie ich die Objekte hier anpassen kann.
Gelöst hab ich es im Augenblick nur so:
PageFormat pageFormat = printJob.pageDialog(printJob.defaultPage());
So bekomme ich allerdings nur das PageDialog Fenster mit "falschen" Default
Werten.
-
Ich hab mal eine Frage:
Wenn ich meinen Page Dialog öffne, bekomme ich immer Defajult Einstellungen zu sehen, mit denen ich nichts anfangen kann.
Nun würde ich gern wissen, wie ich per Code diese Einstellungen ändern kann.
Danke im voraus.
Waldo
Seitenrand beim Drucken unter Unix definieren
in Java
Geschrieben
Hallöchenl
ich hab mal ne Frage:
Wie kann man, wenn man ein Frame unter Unix druckt, die Seitenränder im Code verändern(verkleinern). Im PrintDialog kann man sie manuell unter PageSetup einstellen und dann funktioniert der Druck auch.
Allerdings möchte ich das nicht immer per Hand einstellen. Unter Windows hatte ich das gleiche Problem, dieses habe ich durch die Methoden "setSize" und "setImageableArea" der Klasse .... realisiert. Unter Unix habe ich das auch versucht und die Größe des Frames passt sich auch ideal an, allerdings bleibt der Rand weiterhin zu groß, so daß nicht das ganze Frame angezeigt wird. Egal wie groß ich die Werte bei "setImageableArea" setze, der Rand bleibt immer ca. 2,5 cm, soll aber nur 2 cm betragen. An den Unix-Voreinstellungen kann es ja nicht liegen, schließlich funktioniert es ja durch das PageSetup im PrintDialog.
Dankeschön schon mal im Voraus für die Hilfe.
Waldo