1 / 22

Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de

Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker. Einführung in die OOP in Java. WS 07/08. Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de. Applets. Applet: Java-Programm

berne
Download Presentation

Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Johann Wolfgang Goethe-Universität Professur für Graphische Datenverarbeitung Fachbereich Informatik und Mathematik Prof. Dr. Detlef Krömker Einführung in die OOP in Java WS 07/08 Ashraf Abu Baker baker@gdv.cs.uni-frankfurt.de Java-Intensivkurs WS07/08 Folie 1

  2. Applets • Applet: • Java-Programm • Eingebettet in einer HTML-Seite • Ausführung von einem Java-fähigen Web-Browser oder sog. AppletViewer • Java-fähiger Browser? • Abgespeckte Version der JVM • Als Plug-In für den Browser installiert Java-Intensivkurs WS07/08 Folie 2

  3. Applets • HTML-Seite und das Applet befinden sich auf einem Web-Server Java-Intensivkurs WS07/08 Folie 3

  4. Applets • Applets sind Unterklasse von • javax.swing.JApplet • java.applet.Applet (Oberklasse von JApplet) • Lebensdauer einer Applikation • Endet mit der Beendigung der main-Methode • Applets haben einen anderen Lebenszyklus • Bestimmt durch die Methoden init(), start(), stop() und destroy() Java-Intensivkurs WS07/08 Folie 4

  5. Applets • init() • Aufruf: • genau einmal unmittelbar nach Aufruf des Konstruktors • Soll so überschrieben: • Instanzvariablen initialisieren • Objekte erzeugen • Bilder und Schriften laden • Parameter einlesen • start() • Aufruf: • unmittelbar nach dem Aufruf von init() • immer wieder, wenn das Applet wieder sichtbar wird Java-Intensivkurs WS07/08 Folie 5

  6. Applets • stop() • Aufruf: • Benutzer verlässt die HTML-Seite des Applets und besucht eine andere Seiten • Soll so überschrieben werden: • stoppt gestartete Animationen, Music, Threads usw. Um die CPU nicht unnötig zu belasten • destroy() • Aufruf nur einmal: • wenn der Benutzer das Browser-Fenster schließt • Soll Aufräumarbeiten vornehmen Java-Intensivkurs WS07/08 Folie 6

  7. Applets • Ein Applet wird während seinem Lebensdauer: • 1 x geladen, instanziiert und initialisiert (init()) • 1 x oder mehrere Male gestartet (start()) oder gestoppt (Stopp()) • 1 x „vernichtet“ (destroy()) • Alle genannten Methoden sollen entsprechend überschrieben werden Java-Intensivkurs WS07/08 Folie 7

  8. Applets • Sicherheit • Kein Zugriff auf das lokale Dateisystem • Kein Start von externen Programmen • Kein Aufbau einer Netz-Verbindung z. B. zum Server, vom dem Das Applet gestartet wurde • Die Kontrolle über die Sicherheit eines Applets ist im Browser implementiert Java-Intensivkurs WS07/08 Folie 8

  9. Applets • Beispiel Laufschriftapplet Java-Intensivkurs WS07/08 Folie 9

  10. Applets • Einbettung in HTML Java-Intensivkurs WS07/08 Folie 10

  11. Applets • Java-Programm sowohl als Applet als auch als Applikation implementieren: • Hauptklasse des Programms muss eine Unterklasse von Applet bzw. JApplet sein • Die eine main-Methode enthalten • main-Methode instanziiert die Klasse • main-Methode ruft init() und start() auf Java-Intensivkurs WS07/08 Folie 11

  12. Java2D • paint(Graphics g) • Aufruf: • Die grafische Oberfläche einer Applikation muss neu gezeichnet werden: • Fenster wird verschoben • Fenster wird teilweise überdeckt • repaint()  • Aufruf: • Die grafische Oberfläche einer Applikation soll neu gezeichnet werden: • Ruft update() auf • update(Graphics g)  • Löscht den Zeichenbereich der Anwendung • Ruft paint() auf Java-Intensivkurs WS07/08 Folie 12

  13. Java2D • java.awt.Graphics -Klasse: • Graphics ist eine abstrakte Klasse • Methoden zum Zeichnen von Graphikprimitiven: • Linien, Kreisen und Ellipsen, Bögen, Rechtecke, Polygonen und Bildern • Methoden Text-Darstellung und -formatierung Java-Intensivkurs WS07/08 Folie 13

  14. Java2D • Koordinatensystem Java-Intensivkurs WS07/08 Folie 14

  15. Java2D • Textformatierung und Darstellung Java-Intensivkurs WS07/08 Folie 15

  16. Java2D • Zeichnung von graphischen Primitiven Java-Intensivkurs WS07/08 Folie 16

  17. AWT / Swing • Swing/ AWT (Abstract Window Toolkit) • API zur Erstellung von graphischen Benuzeroberflächen (GUI) • AWT • Stark abhängig vom darunterliegenden System • Veraltet • Swing • Erweiterung des AWT und plattformunabhängig Java-Intensivkurs WS07/08 Folie 17

  18. AWT/Swing • Beide bieten Komponenten: • Buttons, Textfelder, Scrollbars, CheckBoxes, RadioButton • Beide bieten Container: • Frames, Dialogfelder und Panels • Container dienen der Aufnahme von Komponenten Java-Intensivkurs WS07/08 Folie 18

  19. AWT/Swing Java-Intensivkurs WS07/08 Folie 19

  20. LayoutManager • LayoutManager: • Ausrichtung von Komponenten innerhalb von Containern • BorderLayout Java-Intensivkurs WS07/08 Folie 20

  21. LayoutManager • GridLayout Java-Intensivkurs WS07/08 Folie 21

  22. LayoutManager • FlowLayout Java-Intensivkurs WS07/08 Folie 22

More Related