Kapitel X - Zeichnen mit Java2D

Ähnliche Dokumente
Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung

GUI Programmierung in Java

Drucken soll nur das Panel, nicht der ganze Rahmen gedruckt werden.

B2. 2D-Computergrafik mit Java

Programmieren II. Java-Applets. Heusch 17 Ratz 4. Institut für Angewandte Informatik

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Hochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr Seite 1 von 5. Teil 2: Aufgaben

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Einbindung der Tastatur

Programmieren 2 Selbststudium Semesterwoche 4

Graphische Benutzungsoberflächen

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Tetris soll als Computerspiel mittels Java realisiert werden, wobei ein objektorientierter Ansatz gewählt

Benutzeroberflächen. Java Teil 4

Kapitel 19: Klassen und Unterklassen

Dr. Monika Meiler. Inhalt

Kapitel Abbildung von UML-Modellen auf Code

Java: Vererbung. Teil 3: super()

Applets. Applets. Applets. Applet: Java-Programm Eingebettet in einer HTML-Seite Ausführung von einem Java-fähigen Web-Browser oder sog.

Praktikum: Einstieg: Arbeitsplatz, JCreator

Kapitel 6. Vererbung

Programmieren in Java

Kapitel 6. Vererbung

Objektorientierte Software-Entwicklung

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Klassen und Unterklassen

Ab jetzt: Java ohne Kara

Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java

Programmierkurs Java

GUI-Programmierung in Java

Prozedurale Programmierung (PPG)

Graphische Programmierung: GUIs: graphical user interfaces

Klausur vom 14. Juni Informatik 4

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Kapitel 6. Vererbung

NTB Druckdatum:

Praktikum Informatik - 1

Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009

Objektorientierte Programmierung

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Allerdings ist die Bearbeitung von Standardobjekten vorerst eingeschränkt. Wir wollen uns dies im folgenden Beispiel genauer betrachten.

Swing :Komponenten I (Teil 2)

Themen. Web Service - Clients. Kommunikation zw. Web Services

Informatik Sommercamp 2012

GUI Programmierung mit JAVA Swing

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Algorithmen und Datenstrukturen 07

Grafische Benutzeroberflächen mit Swing

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Techniken der Projektentwicklung

3. Konzepte der objektorientierten Programmierung

Vererbung & Schnittstellen in C#

Schritt 1 - Ein Spielfeld

3 Objektorientierte Konzepte in Java

Einstieg in die Informatik mit Java

5. Tutorium zu Programmieren

Aufgabenblatt Nr. 5 Generizität und TicTacToe

Grafische Benutzeroberfläche mit Java-Applets

Mein Computerheft. Arbeiten mit Paint.NET. Ich kann ein Bildbearbeitungsprogramm öffnen. Öffne Paint.NET mit einem Doppelklick!

Grundlagen der Programmierung APPLETS

Ostfalia Hochschule für angewandte Wissenschaften Fakultät Elektrotechnik

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Abschnitt 9: Schnittstellen: Interfaces

Praktikum: Objektorientierte Programmierung mit Java

Einführung in Swing. Graphical User Interface

Typumwandlungen bei Referenztypen

Dokumentation des Projektes Tic Tac Toe

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Begriffe: (grafische) Benutzeroberfläche, (grafische) Benutzerschnittstelle,

Einführung in die Informatik - Teil XII Klassen und Objekte

Erreichbarkeit von Klassenelementen. Daten verstecken und kapseln

Programmieren Tutorium

Java Schulung (Java 2 Java Development Kit 5 / 6)

Einführung in die Java- Programmierung

4 Erste Schritte die Turtlegraphik

Mobile und Verteilte Datenbanken

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

von Anja Austermann Drag and Drop

4. AuD Tafelübung T-C3

J.1. J.1 GUI-Programmierung in in Java Prof. Dr. Rainer Manthey Informatik II 1

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Interaktive Elemente, GUI-Programmierung

Software-Entwurfsmuster

Algorithmen und Datenstrukturen

Programmierkurs Java

3 Objektorientierte Konzepte in Java

1 Verschlüsselung nach Caesar

Transkript:

Kapitel X - Zeichnen mit Java2D SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH)

Literatur Informationen zu Java2D finden Sie in der aktuellen Java Dokumentation unter: http://java.sun.com/javase/6/docs/api/java/awt/ Graphics.html und http://java.sun.com/javase/6/docs/api/java/awt/ Graphics2D.html Einen Lehrgang zu Java2D finden Sie unter: http://java.sun.com/docs/books/tutorial/2d/index.html 2 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D - Überblick Die Java2D-Schnittstelle bietet: Ein einheitliches Darstellungsmodell für Bildschirme und Drucker Verschiedene geometrische Primitive (Linien, Rechtecke, Ellipsen, ) Funktionen zur Erkennung von Treffern (bspw. ob sich der Mauszeiger in einer Ellipse e befindet) Ein Modell zum Zusammenfügen von Objekten (inklusive Kontrolle darüber, wie mit überdeckten Objekten umgegangen wird) Möglichkeiten zur Anpassung der Darstellungsqualität der Zeichnungen. 3 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Das Koordinatensystem In Java2D werden 2 verschiedene Koordinatenräume eingesetzt: Der Benutzer-Raum (engl. user space), in welchem die Zeichenobjekte auf der Zeichenfläche platziert werden. Der Geräte-Raum (engl. device space), welcher den Koordinatenraum des Ausgabegerätes darstellt (bspw. des Bildschirms oder des Druckers) 4 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Der Benutzer-Raum Die linke obere Ecke der Zeichenfläche besitzt die Koordinate (0,0). Je nach Zeichenmethode werden die Koordinaten als Ganz- oder Fließkommazahl angegeben. (0, 0) x (x 1, y 1 ) y 5 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Grafik-Kontext Zum Zeichnen wird in Java ein Grafik-Kontext (engl. graphics context) verwendet. Den Grafik-Kontext erhält man in Java entweder als Parameter (z.b. in der paint(graphics g) Methode) oder kann ihn mittels getgraphics() von einer Komponente anfordern. Der so erhaltene Grafik-Kontext sollte manuell in einen Java2D-Kontext umgewandelt werden: Graphics2D g = (Graphics2D) getgraphics(); 6 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D getgraphics() Bei der Verwendung von getgraphics() gibt es eine Besonderheit: s.getgraphics() liefert nur dann ein Objekt zurück, wenn das Steuerelement s bereits in einem schwergewichtigen Container liegt. 7 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D paint() Methode Jedes Steuerelement zeichnet sich und seine Kindelemente mit Hilfe der paint()-methode. Die paint()-methode wird von der zugrunde liegenden Plattform aufgerufen, sobald für sie das Neuzeichnen des Steuerelementes sinnvoll erscheint. Es bietet sich daher an, zum Zeichnen in ein Steuerelement s dessen paint(graphics g)-methode zu überschreiben. 8 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Grafische Primitive Java2D bietet verschiedene grafische Primitive an (im Paket java.awt.geom): Punkte (Point2D): Hat keine Ausdehnung, keine Farbe und kann nicht dargestellt werden. Linien (Line2D) Rechtecke (Rectangle2D): Bietet Methoden für alle Objekte, welche durch eine rechteckige Zeichen-Box (engl. bounding box) beschrieben werden können. Zeichen- Box 9 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Grafische Primitive Grafische Primitive (Fortsetzung): Quadratische und Kubische Kurven: Eine quadratische Kurve benötigt zwei Endpunkte und einen Kontrollpunkt. Eine kubische Kurve benötigt zwei Endpunkte und zwei Kontrollpunkte. Kontrollpunkt Quadratische Kurve Kubische Kurve 10 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Farben In Java werden Farben durch die Klasse Color repräsentiert. Wenn die bereits definierten Farben nicht ausreichen, können beliebige Farben durch Angabe der RGB-Werte (Rot, Grün, Blau) definiert werden. 11 18.05.2010 Kapitel X - Zeichnen mit Java

Java2D Zeichenfläche leeren Muss die Zeichenfläche geleert werden, kann dafür die Methode g.clearrect(x, y, b, h) verwendet werden. Diese Methode füllt die Zeichenfläche mit der aktuellen Hintergrundfarbe f, die über g.setbackground(f) gesetzt wurde. 12 18.05.2010 Kapitel X - Zeichnen mit Java

Beispielanwendung: Zeichnen von grafischen Primitiven import java.awt.color; import java.awt.graphics; import javax.swing.jframe; public class Java2DBeispiel extends JFrame { } public Java2DBeispiel() { super("java2dbeispiel"); setsize(400, 200); setvisible(true); } public void paint(graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D)g; g2.setbackground(color.white); g2.clearrect(0, 0, 400, 200); g2.setcolor(color.orange); g2.fillrect(40, 40, 100, 60); g2.setcolor(color.green); g2.fillroundrect(170, 40, 100, 60, 45, 90); g2.setcolor(color.blue); g2.drawoval(40, 105, 100, 60); g2.setcolor(color.red); g2.filloval(170, 105, 100, 60); } public static void main(string[] args) { Java2DBeispiel j2d = new Java2DBeispiel(); } Zeichenfläche leeren Ausgefülltes Rechteck zeichnen Ellipse zeichnen 13 18.05.2010 Kapitel X - Zeichnen mit Java