Zum Inhalt springen

Waldo

Mitglieder
  • Gesamte Inhalte

    13
  • Benutzer seit

  • Letzter Besuch

  1. 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
  2. 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
  3. Ich hab das jetzt anders realisiert, aber trotzdem vielen Dank für Deine ( Eure) Bemühungen. Gruß Walo
  4. Ü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.
  5. 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.
  6. Wie kann ich denn das PageFormat-Objekt abfangen, so das die Änderungen im PrintDialog übernommen werden? Ich hab keine Ahnung wie das geht
  7. 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); }
  8. 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); }
  9. 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.
  10. 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
  11. 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
  12. 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
  13. 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.
  14. 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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...