Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu."—  Präsentation transkript:

1 Programmieren mit JAVA Teil V

2 Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu bedienendes System für die Gestaltung grafischer Oberflächen zur Verfügung zu stellen: das Resultat ist das A bstract W indowing T oolkit Die Fähigkeiten des AWT lassen sich grob in vier Gruppen unterteilen: –Grafische Primitivoperationen zum Zeichnen von Linien oder Füllen von Flächen und zur Ausgabe von Text –Methoden zur Steuerung des Programmablaufs auf der Basis von Nachrichten für Tastatur-, Maus- und Fensterereignisse –Dialogelemente zur Kommunikation mit dem Anwender und Funktionen zum portablen Design von Dialogboxen –Fortgeschrittenere Grafikfunktionen zur Darstellung und Manipulation von Bitmaps und zur Ausgabe von Sound

3 Ausgabe von Grafik Die Ausgabe in ein Fenster erfolgt durch Überlagern der Methode paint paint bekommt beim Aufruf eine Instanz der Klasse Graphics übergeben Bsp: public void paint(Graphics g) Graphics ist Javas Implementierung eines Device- Kontexts (auch Grafikkontext genannt) Graphics verwaltet auch die Zeichenfarbe und den Font zur Ausgabe von Schrift

4 Das grafische Koordinatensystem Ausgabe von Grafik basiert auf einem zweidimensionalen Koordinatensystem, dessen Ursprungspunkt (0,0) in der linken oberen Ecke liegt Die Maßeinheit entspricht einem Bildschirmpixel und ist damit geräteabhängig.

5 Elementare Grafikroutinen Linie public void drawLine(int x1, int y1, int x2, int y2) Rechteck public void drawRect(int x, int y, int width, int height) Polygon public void drawPolygon(int arx[], int ary[], int cnt) Kreis public void drawOval(int x, int y, int width, int height) Kreisbogen public void drawArc( int x, int y, int width, int height, int startAngle, int arcAngle) alle Zeichenmethoden können im Linienmodus (draw) oder im Ausfüllmodus (fill) [außer Linie] aufgerufen werden

6 Kopieren und Löschen von Flächen Die Klasse Graphics stellt auch einige Methoden zum Bearbeiten bereits gezeichneter Flächen zur Verfügung. Diese erlauben es beispielsweise, einen rechteckigen Ausschnitt des Ausgabefensters zu löschen oder zu kopieren Syntax Löschen: public void clearRect (int x, int y, int width, int height) Syntax Kopieren: public void copyArea (int x, int y, int width, int height, int dx, int dy) Beispiel

7 Textausgabe Hat die Aufgabe, Text in einem Fenster auszugeben Methoden der Textausgabe: –public void drawString (String str, int x, int y) –public void drawChars (char data[], int offset, int length, int x, int y) –public void drawBytes (byte data[], int offset, int length, int x, int y)

8 Font-Objekte Das Erzeugen neuer Font-Objekte wird über die drei Parameter name, style und size des Konstruktors der Klasse Font gesteuert –public Font(String name, int style, int size) Die Methode setFont wird dazu verwendet, das Font- Objekt font in den Grafikkontext einzutragen, und mit getFont kann der aktuelle Font abgefragt werden. –public void setFont(Font font) –public Font getFont()

9 Beispiel Fontobjekte Listing: public void paint(Graphics g) { Font font; String arfonts[] ={"Serif","SansSerif","Monospaced"}; for (int i=0; i

10 Fensterklassen Das Abstract Windowing Toolkit von Java enthält verschiedene Fensterklassen, die über eine gemeinsame Vererbungshierarchie miteinander in Verbindung stehen Oberste Fensterklasse ist Component, daraus wurde Container abgeleitet. Container ist die Oberklasse der beiden Klassen Window und Panel. Während Window sich in die Unterklassen Frame und Dialog verzweigt, wird aus Panel die Klasse Applet abgeleitet. Unterhalb von Dialog gibt es noch den Standard-File- Dialog in der Klasse FileDialog.

11 Aufrufen und Schließen eines Fensters public Frame(String title) public Window(Frame parent) Ein Objekt der Klasse Frame kann demnach parameterlos oder mit einem String, der den Titel des Fensters angibt, erzeugt werden. Bei der Instanzierung eines Window- Objekts muss dagegen das Vaterfenster übergeben werden. Nach der Instanzierung wird die Methode setVisible aufgerufen, um das Fenster anzuzeigen Um ein Fenster zu schließen, sind die Methoden setVisible(false) und dispose aufzurufen Beispiel

12 Fensterelemente Fenstertitel Icon des Fensters Mauscursor Vorder- und Hintergrundfarbe Standard-Font

13 Menüs Eine der Möglichkeiten eines Programms, mit dem Anwender zu interagieren, besteht darin, Menüs zur Verfügung zu stellen. Aufgabe des Programms ist es dabei, den Aufbau und die visuellen Eigenschaften der Menüs festzulegen Die Klassen: –MenuBar stellt die Menüzeile eines Fensters dar, –die Klasse Menu ein einzelnes der darin enthaltenen Menüs, –und die Klassen MenuItem und CheckboxMenuItem bilden die vom Anwender auswählbaren Einträge innerhalb der Menüs

14 Dialoge Das Erstellen eines Dialogs erfolgt in vier Schritten: Anlegen eines Fensters Zuordnen eines Layoutmangers Layoutmanager sind in Java für die Anordnung der Dialogelemente im Fenster verantwortlich Einfügen von Dialogelementen Das Einfügen von Dialogelementen in das Fenster erfolgt mit der Methode add der Klasse Container Anzeigen des Fensters Wurden alle Komponenten an den Container übergeben, kann der Dialog formatiert und durch einen Aufruf von setVisible angezeigt werden Beispiel in der Dosbox starten (Dialog)

15 Layoutmanager FlowLayout GridLayout BorderLayout GridBagLayout NULL-Layout Schachteln von Layoutmanagern

16 Dialogelemente Label Button Checkbox und CheckboxGroup TextField und TextArea Choice und List Scrollbar und ScrollPane sowie eigene Dialogelemente


Herunterladen ppt "Programmieren mit JAVA Teil V. Grafikausgabe mit JAVA, das AWT Java wurde von Anfang an mit dem Anspruch entwickelt, ein vielseitiges, aber einfach zu."

Ähnliche Präsentationen


Google-Anzeigen