Schwerpunkte. Java-Programmbeispiel: Quellen. Aufgabe. 15. Ereignisse (Events) Java-Beispiel: EyesApplet.java Eyes.java
|
|
|
- Wilfried Maurer
- vor 9 Jahren
- Abrufe
Transkript
1 Schwerpunkte 15. Ereignisse (Events) Java-Beispiel:.java Eyes.java Ereignisbehandlung (Event Handling) Vom Problem zum Programm SW-Architektur: Programme mit graphischer Nutzeroberfläche Ein Beispiel zu Events, Applets und Graphics Ereignisse: erzeugen und ist so ähnlich wie Ausnahmen erzeugen und API-Klassen: - - MouseEvent - Applet - Graphics K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 20015/16 Version: 1. Feb Java-Programmbeispiel: Quellen Basierend auf einer Idee von S.N. Kamin, M.D. Mickunas, E.M. Reingold: An introduction to computer science Using Java, McGraw-Hill, 1 st und 2 nd Edition, 1998, 2002 Aufgabe Man entwickle ein Applet, in dem Augenpaare dem Cursor (der von der Maus bewegt wird) folgen. 3 Cursor bewegt (Ereignis) Position des Cursors abfragen Pupillen neu zeichnen 4
2 Ereignis Besonderes Vorkommnis außerhalb des Programms (Hardware) Tastatur betätigt (z. B. Enter-Taste) Maus bewegt / Taste betätigt graphisches Nutzerinterface bedient (z.b. Button gedrückt) löst bestimmte Reaktion des Programms aus. Ausgabe des Grad-Celsius-Wertes (TempApplet.java) Veränderte Augenpaare (Eyes.java,.java) Graphisches Objekt erscheint o. ä. Ereignisgesteuerte Programmausführung Normale Programmsteuerung: Eingabe mit main() oder init() gestartet und beendet ein Algorithmus A Ausgabe Ereignisgesteuerte Programmsteuerung: Initialisieren (z. B. Oberfläche aufbauen) (z.b. Quicksort, Maus im Labyrinth) Programmausführung: viele kleine Algorithmen werden aktiviert Button drücken Maus bewegen Enter-Taste betätigen A0 A1 A2 A3 A4 5 main() oder init() Ai kleine Algorithmen 6 Ereignisgesteuertes Programm: Ereignisschleife Zur Anforderungsdefinition Man entwickle ein Applet, in dem Augenpaare dem Cursor (der von der Maus bewegt wird) folgen. Button gedrückt? A1 Zu klärende Probleme: JVM steuert die Ereignisschleife: beobachtet, ob Ereignis auftritt Maus bewegt? Enter-Taste betätigt? A2 A3 Anzahl Augenpaare * ) Platzierung der Augen * ) Abmessungen für Pupille und Augapfel * ) In welchen zeitlichen Abständen soll die Blickrichtung verändert werden? (laufend/kontinuierlich: in kleinster möglicher Zeiteinheit) A4 * ) Feste Werte nach Programmstart, aber durch Konstanten im Programm leicht modifizierbar 7 8
3 Software-Architektur: Grundprinzip Software Architektur: UML Programme mit graphischer Oberfläche Komponenten für Nutzeroberfläche (Applet Klasse) strikte Trennung Komponenten für den inhaltlichen Teil (Augenpaar zeichnen) Eyes Architekturfehler: Vermischung beider Komponenten Augenpaar zeichnen Nutzeroberfläche Eyes - left, right : Point - leftpupil, rightpupil : Point - EYE_RADIUS, PUPIL_RADIUS: int Eyes (p: Point) stare (cursor: Point) gerichtet! init ( ) paint (Graphics g) mousemoved (MouseEvent e) mousedragged (MouseEvent e) Prinzip: Nutzeroberfläche kennt Anwendung - nicht umgekehrt 9 10 Zustand Verhalten Welche Zustandsänderung durch stare? Klasse 'E y e s' Zum Zeichnen eines Augenpaares Rechtes / linkes Auge: jeweils Mittelpunkt von Augapfel und Eyes Pupille sowie Radius - left, right : Point - leftpupil, rightpupil : Point - EYE_RADIUS, PUPIL_RADIUS: int Eyes (p: Point) stare (cursor: Point) Erzeuge Augenpaar mit Position p (Anfangszustand) Zeichne Augenpaar in Richtung 'cursor' (stare = (an)starren) Volle Form: stare(g: Graphics, cursor:point) 11 Klasse ' Grundlagen: - Ereignisbehandlung (Klasse ) - Applets (Klasse Applet) Aufruf aller Methoden durch Interpreter - nicht durch das Programm! Initialisierung (beim Programmstart) Aufruf bei Mausbewegung Aufruf bei Mausbewegung mit gedrückter Maus-Taste (drag) init ( ) Anfangszustand paint (Graphics g) mousemoved (MouseEvent e) mousedragged (MouseEvent e)* ) * ) nicht benötigt (technisches Detail) Direkt nach init() aufgerufen: beide Augenpaare malen lassen. 12
4 Ereignisgesteuertes Programm: Ereignisschleife public class Eyes { private Point left, right, leftpupil, rightpupil; private final int EYE_RADIUS = 30,PUPIL_RADIUS = 10; JVM steuert die Ereignisschleife Button gedrückt? Maus bewegt? Enter-Taste betätigt? mousemoved (MouseEvent e) import java.awt.*; import java.applet.*; import java.awt.event.*; public class extends Applet implements { Point cursor; Eyes e1, e2; public void init () { // Register the Listener. add(this); setsize(500,400); setbackground(color.light_gray); e1 = new Eyes(new Point (63,30)); // center of one eye e2 = new Eyes(new Point (437,30)); // center of the other cursor = new Point(250, 2000); // initial cursor public void paint(graphics g) { e1.stare(g, cursor); e2.stare(g, cursor); public void mousemoved (MouseEvent e) { public void mousedragged (MouseEvent e) { public Eyes(Point c) { left = new Point(c.x-EYE_RADIUS-3, c.y); right = new Point(c.x+EYE_RADIUS+3, c.y); private void fillcircle (Graphics g, Point center, int radius) { g.filloval(center.x-radius, center.y-radius, 2*radius, 2*radius); public void stare (Graphics g, Point cursor) { // Draw the white eyes g.setcolor(color.white); fillcircle(g, left, EYE_RADIUS); fillcircle(g, right, EYE_RADIUS); // Draw the pupils g.setcolor(color.black); leftpupil = compute (cursor, left); fillcircle(g, leftpupil, PUPIL_RADIUS); rightpupil = compute (cursor, right); fillcircle(g, rightpupil, PUPIL_RADIUS); private Point compute (Point cursor, Point eye) { double d = Math.sqrt((cursor.x-eye.x)*(cursor.x-eye.x) + (cursor.y-eye.y)*(cursor.y-eye.y)); int r = EYE_RADIUS - PUPIL_RADIUS; return new Point (eye.x + (int)((cursor.x-eye.x)*r/d), eye.y + (int)((cursor.y-eye.y)*r/d)); Ereignisbehandlung (Event Handling) Besondere externe Vorkommnisse außerhalb des Programms: Signale der Umgebung an Programm Tastatur betätigt (z. B. Enter-Taste) Maus bewegt / Taste betätigt graphisches Nutzerinterface bedient (z.b. Button gedrückt) Vererbungshierarchie der Ereignisklassen (Auszug aus dem Java-API) EventObject AWTEvent ComponentEvent ActionEvent... führen zur Bildung eines Ereignis-Objekts. Objekt einer Event-Klasse (vgl. Ausnahme-Objekte erzeugt bei Laufzeitfehlern) KeyEvent InputEvent... MouseEvent Art: MouseEvent getpoint ( ) : Point... vgl. Ausnahmebehandlung (exceptions) Quelle: Maus Quelle: z.b. Enter Taste (Temperatur Applet) 15 16
5 Analogie: Ausnahmen - Ereignisse (Events) API-Klasse MouseEvent' Zur Laufzeit: besondere Situation An event which indicates that a mouse action occurred in a component Signal der Umgebung (periphere Geräte: Æ Tastatur / Maus) Laufzeitfehler erzeugt static int MOUSE_CLICKED Ausnahmeobjekt The "mouse clicked" event. Event-Objekt getmessage()... static int MOUSE_MOVED The "mouse moved" event. getpoint()... Art: NumberFormat Details: a1 StackTrace: Point getpoint() Art: MouseEvent b e h a n d e l t durch Returns the x,y position (curser) of the event relative to the source component. Objekt einer Unterklasse der Interface-Klasse 'EventListener' try-catch (Teil des Java - API) API-Klasse (Interface) ' (Interface terface e-)komponenten e -)K )Komponenten zur Behandlung Be eh handlung von v Ereignissen: EventListener erer r-hierarchie The listener interface for receiving mouse motion events on a component. (For clicks and other mouse events, use MouseListener.) EventListener ActionListener KeyListener WindowListener Listener: beobachten Ereignisse und reagieren void mousedragged(mouseevent e) Invoked when a mouse button is pressed on a component and then dragged. Ereignis übergeben... void mousemoved(mouseevent e) behandelt: MouseMotionEvents durch festgelegte Methodenaufrufe. Invoked when the mouse cursor has been moved onto a component but no buttons have been pushed. behandelt: ActionEvents (vgl. Temperatur Applet) 19 20
6 Auswertung von MouseEvents durch class extends Applet implements { public void mousemoved (MouseEvent e){... Aufrufreihenfolge bei Maus-Bewegung Objekt e vom Typ MouseEvent gebildet; e enthält Informationen über Position des Cursors. Aufruf mousemoved(e) neue Position der Maus abgefragt: e.getpoint repaint(): ruft paint() erneut auf Augen jetzt neu gemalt 5. Technik und Ablauf der Ereignisbehandlung 1. Hardware schickt Signal an Betriebssystem 2. Java-VM-Maschine empfängt Signal vom Betriebssytem 3. Java-VM-Maschine erzeugt Ereignis-Objekt e 4. Java-VM-Maschine sendet Botschaft an Objekt der Ereignisbehandlung (d.h. durch Aufruf einer Methode): z.b. mousemoved(e) 5. Ereignisbehandlungsmethode wertet Ereignis-Objekt aus und reagiert, z.b. e.getpoint(); SW-Architektur: erweiterte Sicht (API) Component paint( ) repaint() add( ) setsize( ) setbackground( ) + > 100 weitere <<interface>> mousemoved( ) mousedragged( ) add(this): Das Applet wird als Objekt registriert, das bei Mausbewegungen informiert werden soll, d. h. dann reagieren kann. Mehrfachvererbung: ein Applet, das auf Events reagieren kann init() paint() mousemoved( ) mousedragged( ) Container paint(graphics g) + 50 weitere Panel addnotify() Applet init() + 21 weitere In definierte und benutzte Methoden aufgeführt import java.awt.*; import java.applet.*; import java.awt.event.*; public class extends Applet implements { Point cursor; Eyes e1, e2; public void init () { // Register the Listener. add(this); setsize(500,400); setbackground(color.light_gray); e1 = new Eyes(new Point (63,30)); // center of one eye e2 = new Eyes(new Point (437,30)); // center of the other cursor = new Point(250, 2000); // initial cursor public void paint(graphics g) { e1.stare(g, cursor); e2.stare(g, cursor); public void mousemoved (MouseEvent e) { public void mousedragged (MouseEvent e) { public class Eyes { private Point left, right, leftpupil, rightpupil; private final int EYE_RADIUS = 30,PUPIL_RADIUS = 10; public Eyes(Point c) { left = new Point(c.x-EYE_RADIUS-3, c.y); right = new Point(c.x+EYE_RADIUS+3, c.y); private void fillcircle (Graphics g, Point center, int radius) { g.filloval(center.x-radius, center.y-radius, 2*radius, 2*radius); public void stare (Graphics g, Point cursor) { // Draw the white eyes g.setcolor(color.white); fillcircle(g, left, EYE_RADIUS); fillcircle(g, right, EYE_RADIUS); // Draw the pupils g.setcolor(color.black); leftpupil = compute (cursor, left); fillcircle(g, leftpupil, PUPIL_RADIUS); rightpupil = compute (cursor, right); fillcircle(g, rightpupil, PUPIL_RADIUS); private Point compute (Point cursor, Point eye) { double d = Math.sqrt((cursor.x-eye.x)*(cursor.x-eye.x) + (cursor.y-eye.y)*(cursor.y-eye.y)); int r = EYE_RADIUS - PUPIL_RADIUS; return new Point (eye.x + (int)((cursor.x-eye.x)*r/d), eye.y + (int)((cursor.y-eye.y)*r/d)); 23 24
7 Klasse 'Eyes': das Problem? (für das Zeichnen des Auges) Klasse 'Eyes': das Problem? (für das Zeichnen des Auges) Augapfel mit fester Lage Augapfel mit fester Lage Satz des Pythagoras Ähnliche Dreiecke das Problem: geg.: Augapfel + Cursorposition ges.: Wo liegt die Pupille? Mittelpunkt Cursor Cursor Klasse 'Eyes': das Problem? public class Eyes { private Point left, right, leftpupil, rightpupil; private final int EYE_RADIUS = 30,PUPIL_RADIUS = 10; E 2 2 d = (C.x -E.x) +(C.y-E.y) P P.x = E.x + (C.x - E.x) * r / d P.y = E.y + (C.y - E.y) * r / d r = Differenz der Radien r E: Mittelpunkt des Auges (Eye) C: Cursor-Punkt P: Mittelpunkt der Pupille (zu berechnen) d C 27 import java.awt.*; import java.applet.*; import java.awt.event.*; public class extends Applet implements { Point cursor; Eyes e1, e2; public void init () { // Register the Listener. add(this); setsize(500,400); setbackground(color.light_gray); e1 = new Eyes(new Point (63,30)); // center of one eye e2 = new Eyes(new Point (437,30)); // center of the other cursor = new Point(250, 2000); // initial cursor public void paint(graphics g) { e1.stare(g, cursor); e2.stare(g, cursor); public void mousemoved (MouseEvent e) { public void mousedragged (MouseEvent e) { public Eyes(Point c) { left = new Point(c.x-EYE_RADIUS-3, c.y); right = new Point(c.x+EYE_RADIUS+3, c.y); private void fillcircle (Graphics g, Point center, int radius) { g.filloval(center.x-radius, center.y-radius, 2*radius, 2*radius); public void stare (Graphics g, Point cursor) { // Draw the white eyes g.setcolor(color.white); fillcircle(g, left, EYE_RADIUS); fillcircle(g, right, EYE_RADIUS); // Draw the pupils g.setcolor(color.black); leftpupil = compute (cursor, left); fillcircle(g, leftpupil, PUPIL_RADIUS); rightpupil = compute (cursor, right); fillcircle(g, rightpupil, PUPIL_RADIUS); private Point compute (Point cursor, Point eye) { double d = Math.sqrt((cursor.x-eye.x)*(cursor.x-eye.x) + (cursor.y-eye.y)*(cursor.y-eye.y)); int r = EYE_RADIUS - PUPIL_RADIUS; return new Point (eye.x + (int)((cursor.x-eye.x)*r/d), eye.y + (int)((cursor.y-eye.y)*r/d)); 28
8 stare und compute Malt Augenpaar neu: Alte Position der Pupille: schwarz weiß Pupille blickt in Richtung cursor (schwarz) public void stare (Graphics g, Point cursor) Umsetzung der geometrischen Grundlagen: Berechnet Punkt P (Mittelpunkt der Pupille) private Point compute (Point cursor, Point eye) fillcircle : Kreis mit 'radius' um 'center'-punkt private void fillcircle (Graphics g, Point center, int radius) { malt Kreis in Quadrat (Oval in Rechteck) linker oberer Eckpunkt g.filloval(center.x-radius, center.y-radius, 2*radius, 2* radius); radius center y Länge und Breite des Rechtecks x API-Klasse Graphics' Dynamische Sicht auf '' The Graphics class is the abstract base class for all graphics contexts that allow an application to draw onto components void drawrect(...) Draws the outline of the specified rectangle. abstract void filloval(int x, int y, int width, int heigth) Fills an oval bounded by the specific rectangle with the current color bei Start Eyes init () paint (g) mousemoved (e) bei Ereignis Java-Interpreter JVM Betriebssystem Graphics-Objekt: generiert für jedes Applet generiert bei Ereignis Applet g: Graphics e: MouseEvent 31 32
9 Klasse : Aufruf der Methoden public class extends Applet implements { Point cursor; Eyes e1, e2; Applet: initialisiert und registriert als public void init () {... direkt nach init() aufgerufen public void paint(graphics g) { e1.stare(g, cursor); e2.stare(g, cursor); automatischer Aufruf bei Maus-Bewegung public void mousemoved (MouseEvent e) { liefert physische Mausposition public void mousedragged (MouseEvent e) {... Mögliche Aufgaben zur Vertiefung 0. Programm anwenden und vollständig verstehen (Java-API) 1. Platzierung der Augen verändern 2. Andere Abmessungen: Größe von Pupille und Augapfel 3. Statt zwei Augenpaaren: vier 4. Dynamische Erzeugung von neuen Augenpaaren (Maustasten) 5. Erscheinungsbild neu: Augenlid 6. Auf Maustastendruck: Augenlider schließen sich benötigt: MouseListener Zu jedem Applet generiert JVM ein Graphics-Objekt g zum Malen im Applet Alle Methoden: durch JVM-Maschine aufgerufen
11. GUI-Programmierung mit SWING Überblick
11. GUI-Programmierung mit SWING Überblick 11.1 Einführung 11.2 Einfache Swing Komponenten 11.3 Ereignisbehandlung und Adapterklassen 11.4 Zeichnen 11.5 Dialoge 11.6 Layout Manager 11.7 Komplexere Swing
Eventhandling. Delegation model Eventhandler model
Eventhandling Dient der Kommunikation der Controlls mit der eigentlichen Anwendung. Prinzipiell gibt es zwei verschiedene Verfahren für das Eventhandling Delegation model Eventhandler model Die Arbeit
Einführung in die Programmierung für NF. Übung 08
Einführung in die Programmierung für NF Übung 08 Inhalt Eventbehandlung in Java Swing Einführung in die Programmierung für NF Übung 08 2 Eventbehandlung in Java Swing Wir haben bereits einige grafische
Grafikprogrammierung mit Java Teil 1/2
Grafikprogrammierung mit Java Teil 1/2 Martin Tischmann 15. Juni 2009 Inhaltsverzeichnis Das Abstract Windowing Toolkit Anlegen eines Fensters Die Methode paint Das grafische Koordinatensystem Schließen
NTB Druckdatum: 01.04.13 -
AWT UND SWING AWT = abstract windowing toolkit Bausteine Eigenes Fenster Programmcode steht nicht im Main, sondern in einer separaten Klasse extends JFrame JWindow selbstständiges Fenster, ohne Rahmen
Einstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Ereignis-Verwaltung 2 Layout-Typen GridLayout
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 7. Grafische Benutzeroberflächen 1
Kapitel 7 Grafische Benutzeroberflächen Grafische Benutzeroberflächen 1 Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen.
Design Patterns I. Observer, Listener & MVC
Design Patterns I Observer, Listener & MVC Design Patterns I - Gliederung - Was sind Design Patterns? - Definition von Design Patterns - Entstehung - Nutzen & Verwendung - MVC - Model, View, Controller
Objektorientierte Software-Entwicklung
Objektorientierte Software-Entwicklung Priv.-Doz. Dr. Rolf Hennicker 08.01.2003 AWT und Swing AWT (Abstract Window Toolkit) und Swing 2 AWT (Abstract Window Toolkit) und Swing AWT und Swing bieten eine
Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen (engl.: "graphical user interface", GUI) in Java
GUI-Programmierung in Java GUI-Programmierung in Java 2002 Prof. Dr. Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke
GUIs mit Swing Markus Reschke 28.08.2014 Beispiel: Ein einfaches GUI-Programm Siehe Painter.java Markus Reschke GUIs mit Swing 2 GUI Frameworks in Java AWT war das erste GUI-Framework, welches mit Java
Einstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung
Einführung in die OOP mit Java
Einführung in die OOP mit Java Das Event-Hanlding Übersicht Event - Handling Das im JDK 1.1 Grundlagen Ereignistypen Ereignisquellen Adapterklassen für den Nachrichtenverkehr Variante1: Implementierung
8.6 Visualisierung der Sortieralgorithmen
8.6 Visualisierung der Sortieralgorithmen 8.6.1 Problemstellung Schauen Sie sich den folgenden Quelltext eines Java-Applets an: import java.awt.*; import javax.swing.*; import java.awt.event.*; public
GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik
GUI-Programmierung mit Java Teil I Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI GUI-Programmierung V3.0 2011 by WBR1&MOU2/BFH-TI Lernziele Die Kursteilnehmer sind in
I. Grundlagen II. Ereignistypen III. Ereignisempfänger. Event-Handling (EH)
I. Grundlagen II. Ereignistypen III. Ereignisempfänger IV. Ereignisquellen V. Adapterklassen Event-Handling (EH) I. Grundlagen II. Ereignistypen III. Ereignisempfänger IV. Ereignisquellen V. Adapterklassen
EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ
EAD II Übung 5 Graphische Benutzungsoberfläche mit BlueJ Graphische Benutzungsoberfläche (GUI) Fenster, das weitere Komponenten zur Darstellung und Interaktion enthält spezielle Standardbibliotheken erforderlich,
Abstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, [email protected] Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
Praktikum 4: Grafiken und Ereignisse
Praktikum 4: Grafiken und Ereignisse Aufgabe 1: Java Applikation Bisher haben wir in Java (ebenso wie in C) jeweils selbständige Konsole-Applikationen erstellt. Java wurde als Programmiersprache für das
Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder
Eckart Modrow Zeichnen mit der Maus im JBuilder S. 1 Einführung in die Informatik - Teil 4b - Zeichnen mit der Maus im JBuilder Inhalt: 1. Arbeiten mit der Maus 2. Aufgaben Literaturhinweise: Küchlin/Weber:
Universität Paderborn Prof. Dr. Stefan Böttcher. Kapitel 3: Java Applets
Kapitel 3: Java Applets 1 Was sind Applets? kleine in Fenstern ausführbare Programme typisch: Aufruf im Browserfenster als Teil einer HTML-Seite Anfang des umgebenden HTML-Textes
Funktionale und Objekt-Orientierte Programmierkonzepte
Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1
Grafikausgabe mit dem Abstract- Windowing-Toolkit. Eine Einführung
Grafikausgabe mit dem Abstract- Windowing-Toolkit Eine Einführung Inhalt Einführung Grundlegende Eigenschaften des Abstract-Windowing- Toolkit (AWT) Grundlagen Grafikausgabe Linien zeichnen Rechtecke zeichnen
GUI Programmierung in Java
vs und niemals mischen! Daher muss man sich für eine Klasse entscheiden 1 (Abstract Window Toolkit) schwergewichtige Alle Elemente werden vom Betriebssytem gemalt sehen aus wie alle anderen Programme auf
Graphische Benutzungsoberflächen
Graphische Benutzungsoberflächen Graphische Benutzungsoberflächen (graphical user interfaces, GUI) dienen zur interaktiven Bedienung von Programmen, Ein- und Ausgabe mit graphischen Techniken und visuellen
Theorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
Graphische Programmierung: GUIs: graphical user interfaces
Graphische Programmierung: GUIs: graphical user interfaces Ziel: Java -Programmierung und Handhabung von graphischen Benutzeroberflächen (in Applets) mehrere Fenster Fenster-Eigenschaften: aktiv oder inaktiv
GUI Programmierung mit JAVA Swing
GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen
1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung
Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans
Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel
Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel 17. 6. 2010 Kapitel 8: Java-Programmierung 8.1 Ereignisbehandlung, Benutzungsschnittstellen 8.2 Graphikprogrammierung 8.1 Ereignisbehandlung
Session 1: Classes and Applets
Session 1: Classes and Applets Literature Sprechen Sie Java, ISBN 3-89864-117-1, dpunkt deutsch Java für Studenten, ISBN 3-8273-7045-0, PearsonStudium deutsch Java in a Nutshell, ISBN: 0-59600-283-1, O'Reilly
J.1. J.1 GUI-Programmierung in in Java. 2002 Prof. Dr. Rainer Manthey Informatik II 1
GUI-Programmierung in Java GUI-Programmierung in in Java 2002 Prof Dr Rainer Manthey Informatik II 1 AWT und Swing Ziel dieses Kapitels: : Einführung in die Grundzüge der Programmierung graphischer Benutzeroberflächen
Objektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
Klausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
Kapitel 13. Abstrakte Methoden und Interfaces. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 13 Abstrakte Methoden und Interfaces 13. Abstrakte Klassen und Interfaces 1. Abstrakte Klassen 2. Interfaces und Mehrfachvererbung Folie 12.2 Abstrakte Methoden und Klassen Manchmal macht es überhaupt
Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung
Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]
JavaFX Interaction. Events Eventhandler Lambda-Ausdrücke
JavaFX Interaction Events Eventhandler Lambda-Ausdrücke Einfache Interaktion (c) schmiedecke 15 Prg-20-Interaktion 2 Interaktion Jedem Control kann Interaktivität hinzugefügt werden Die GUI erkennt verschiedenste
Grundlagen der Programmierung APPLETS
Grundlagen der Programmierung APPLETS Inhalt dieser Einheit Java-Applets: Java-Applets Vor- und Nachteile Sicherheitskonzepte Methoden Einbetten in HTML Graphical User Interface 2 Java Applets Applets
Graphical User Interfaces
Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard
6. Eventhandling in Java
6. Eventhandling in Java OO-Graphics in Java Eventhandling in Java 143 Eventhandling in Java Bisher: OO-Grundlagen, Programmablauf, Zeichenmöglichkeiten, Anordnung von Bedienelementen. Was fehlt? Interaktivität!!!
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009
Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009 Fabian Birzele, LMU Institut für Informatik, Lehrstuhl für Praktische Informatik und Bioinformatik, 2008: Programmierpraktikum 1 Ziele
GRAFISCHE BENUTZERSCHNITTSTELLEN
Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind
Der Ball kann angezeigt werden: anzeigen( ) {... } Der Ball kann z.b. seine Größe verändern: groesseaendern(int veraenderung) {... } usw.
Objekt-Orientierung Die ersten objektorientierten Sprachen wurden ab 1967 entwickelt (Simula, Smalltalk). Die Grundidee besteht darin, Objekte der realen Welt abzubilden. Java-Programme bestehen aus Klassen.
Wiederholung. Klassenhierarchie:
Wiederholung Klassenhierarchie: class Unter extends Ober {... Die Unterklasse Unter erweitert die Funktionalität ihrer Oberklasse Ober. Objekte der Klasse Unter können anstelle von Objekten der Klasse
Liste Programmieren Java Überblick
Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 7 Funktionsbibliothek 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe
Objektorientierte Programmierung Studiengang Medieninformatik
Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute
Grafische Benutzeroberflächen
Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative student"
Grafische Benutzeroberflächen
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Aufgabe Ein Benutzer soll
Java - AWT Basispraktikum SystemArchitektur WS 2008/ Atanas Dimitrov
Java - AWT Basispraktikum SystemArchitektur WS 2008/2209 09.12.2008 Atanas Dimitrov 1 Was besprechen wir heute: AWT Klassen Die Klasse Graphics AWT Methoden Die Klasse ToolKit Ausgabe von Bilder Die Klasse
Aufbau einer typischen Java-Datei
Aufbau einer typischen Java-Datei 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [package mein.paket;] [import
14 Abstrakte Klassen, finale Klassen, Interfaces
Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält, heißt ebenfalls abstrakt. Für eine abstrakte Klasse
