12-Drucken Drucken in JAVA. 12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Klassen - Verkettete Liste -
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Verteilte Software - Java - Prozedurale Programmierung 1
Threads Richard Göbel.
Java: Reversi Spielbrett
Java2D Richard Göbel.
Java: Dynamische Datentypen
FH-Hof Java 2D - Kontext für Zeichenoperationen Richard Göbel.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Abstrakte Klassen.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Interface bzw. Schnittstelle anschaulich: Hüllenklasse
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Sommersemester 2003 Lars Bernard
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 5 Polymorphismus Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 8 Sitzung 8: Zeichnen in Java.
Einführung in die OOP in Java
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
DVG3 - Bilder IMAGES (Bilder) Vortrag : Ronny Kuhnert am 9. November 1999.
DVG1 - Applets1 Applets. DVG1 - Applets2 Die Klasse Applet n Applets sind Grafikobjekte, die unter Steuerung eines anderen Programms (z.B. eines Browsers,
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
Abstrakte Klassen DVG
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
Abstrakte Klassen, Interface
DVG Klassen und Objekte
EDV Parallelprogrammierung1 Parallelprogrammierung mit JAVA.
03 - Paint Das Zeichenprogramm EMMA Paint2 Aufgabenstellung Entwicklung eines ausschließlich in JAVA programmierten Graphikprogrammes. Vergleichsprodukte:
08-GraphikImplementierung Implementierung der Graphik in EMMA301Paint.
Klassen 02 - Klassen.
06-EMMA-GUI Das EMMA-GUI. 06-EMMA-GUI 2 Aufteilung des Bildes (Applikation) Menü - Balken Dateiwerkzeuge Zeichenwerkzeuge Meldungen, Informationen, Fehler.
05 - Reflection Das Reflection API Reflection2 Ziel Es kommt vor, dass eine Methode ein Objekt als Parameter übergeben bekommt, ohne dass bekannt.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Bestimmung des ggT zweier Zahlen
Informatikunterricht mit Java
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
FH-Hof Java2D - Grundlagen Richard Göbel. FH-Hof Java2D - Funktionen Java2D unterstützt: das Zeichnen von Grafiken die Darstellung von Texten die Darstellung.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
CuP - Java Elfte Vorlesung Montag, 11. November 2002.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium #6 Philipp Effenberger
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Mittwoch Informatik II, 1. Teil
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
2 Datenabstraktion Geheimnisprinzip:
Benutzerdefinierte Tags
Threads in Java Threads  Sprachumfang von Java Der Java-Standard fordert nur die Unterstützung von Thread-Prioritäten. Es gibt keine Forderung bzgl.:
IT2 – WS 2005/20061Nov 14, 2005 Visibility  public: Sichtbar in allen Paketen  protected: Sichtbar innerhalb des Pakets und in den Unterklassen  (default,
Abstrakte Klassen und das Interface-Konzept
Dr. Wolfram Amme, Virtuelle Vererbung, Informatik II, FSU Jena, SS Auflösung von Konflikten bei Mehrfachvererbung Umbenennung mehrdeutiger Methoden.
Die allgemeine Liste.
Schnittstellen.
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Grundkurs Informatik mit Java
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

12-Drucken Drucken in JAVA

12-Drucken2 Probleme beim Drucken: Es können nur graphische Informationen gedruckt werden. Die zu druckende Information muss graphisch aufbereitet werden. Größe und Auflösung unterscheiden zwischen Bildschirm und verschiedenen Druckern stark: Bildschirm: dpi Drucker: dpi Photosatz: >1200 dpi Es muss eine Anpassung vorgenommen werden Wegen der unterschiedlichen Papiergrößen sind nicht alle Formate möglich. Die Nutzung der Drucker ist sehr stark von der Hard- und Softwareumgebung abhängig.

12-Drucken3 Drucken in JAVA 1. Das zu druckende Objekt muss das Interface Printable oder Pageable implementieren. 2. Es muss ein PrinterJob erzeugt werden. 3. Es müssen die notwendigen Einstellungen vorgenommen werden (Seitengröße, Orientierung...). 4. Der Ausdruck muss gestartet werden.

12-Drucken4 Das Interface Printable Das Interface Printable beschreibt Ausgaben, die auf einer Seite gemacht werden. public int print(Graphics graphics, PageFormat pageFormat, int pageIndex) throws PrinterException Diese Methode muss implementiert werden. graphics: Graphikkontext der auszugebenden Seite pageFormat: beschreibt das Format der auszugebenden Seite pageIndex: Nummer der auszugebenden Seite Die Methode print(...) erfüllt die gleiche Funktion, wie paintComponent für die Ausgabe auf den Bildschirm. Man kann print genau so implementieren, wie paintComponent In EMMA301Paint sollen alle graphischen Objekte druckbar sein. Erweiterung des Interfaces GraphicalObject und der absrakten Klasse AbstractGraphicalObject.

12-Drucken5 public interface GraphicalObject extends Printable {... } public abstract class AbstractGraphicalObject implements GraphicalObject {... public int print(Graphics g, PageFormat pageFormat, int pageIndex) { double scale = Math.min(pageFormat.getImageableWidth()/bounds2D.getWidth(), pageFormat.getImageableHeight()/bounds2D.getHeight()); scale=scale>1.0?1.0:scale; ((Graphics2D)g).translate (pageFormat.getImageableX(), pageFormat.getImageableY()); ((Graphics2D)g).scale(scale, scale); paint((Graphics2D)g); return Printable.PAGE_EXISTS; } }

12-Drucken6 Die Klasse PrinterJob Die Klasse PrinterJob beschreibt einen vollständigen Druckvorgang und ermöglicht die Auswahl der Seitenformate, des Druckers u.s.w. Ein Objekt der Klasse PrinterJob muss mit der Methode public static PrinterJob getPrinterJob() erzeugt werden, da die Klasse selbst abstrakt ist. public PageFormat pageDialog(PageFormat page) öffnet einen Dialog zur Auswahl des Seitenformates public boolean printDialog() öffnet einen Dialog zur Auswahl des Druckers. Liefert true, wenn mit ok beendet wird sonst false.

12-Drucken7 public void setPrintable(Printable painter, PageFormat format) setzt das zu druckende Printable-Objekt und das zu verwendende Seitenformat. public void setPageable(Pageable document) throws NullPointerException setzt das zu druckende (mehrseitige Dokument) public void print() throws PrinterException startet die Ausgabe

12-Drucken8 try { PrinterJob printerJob = PrinterJob.getPrinterJob(); activePageFormat=printerJob.pageDialog(activePageFormat); printerJob.setPrintable( ((EMMA301PaintFrame)desktopPane.getSelectedFrame()). getPicture(),activePageFormat); if (printerJob.printDialog()) printerJob.print(); } catch (PrinterException pe) {}

12-Drucken9 Interface Pageable Das Interface Pageable dient der Ausgabe mehrseitiger Dokumente, wobei jede Seite ein anderes Seitenformat haben kann. public Printable getPrintable(int pageIndex) throws IndexOutOfBoundsException ist die wesentliche zu implementierende Methode. Sie liefert für die Seite Nummer pageIndex die zu druckende Seite.

12-Drucken10 Klasse Book Die Klasse Book ist eine reale Implementierung des Interfaces Pageable. Sie dient der Verwaltung mehrseitiger Dokumente. public void append(Printable painter, PageFormat page) fügt eine Seite zu dem Buch hinzu