Einführung in die OOP mit Java

Größe: px
Ab Seite anzeigen:

Download "Einführung in die OOP mit Java"

Transkript

1 Einführung in die OOP mit Java Das Event-Hanlding

2 Übersicht Event - Handling Das im JDK 1.1 Grundlagen Ereignistypen Ereignisquellen Adapterklassen für den Nachrichtenverkehr Variante1: Implementierung eines EventListener-Interfaces Variante2: Adapter und Innere Klassen Variante3: Adapter und Anonyme Klassen Variante4: Trennung von GUI und Anwendungscode

3 Grundlagen Kommunikation zwischen Betriebssystem und Anwendungsprogramm hauptsächlich durch versenden von Nachrichten Ereignisse: Mausklicks, Bewegungen des Mauszeigers, Tastatureingaben oder Veränderungen an der Größe oder Lage des Fensters

4 Grundlagen Bei der Verarbeitung des Nachrichtenverkehrs sind zwei verschiedene Arten von Objekten beteiligt Ereignisquellen (EventSources): Auslöser der Nachricht, z.b. ein Button der betätigt wird Ereignisempfänger (EventListener): Empfänger der Nachricht, kann jedes beliebige Objekt sein

5 Grundlagen Die Ereignisempfänger müssen sich bei den Ereignisquellen anmelden, damit sie benachrichtigt werden Dazu dienen spezielle Methoden z.b. addmouselistener(mouselistener) removemouselistener(mouselistener)

6 Grundlagen Vorteil: Es verringert den Nachrichten Verkehr, da nur Nachrichten verschickt werden, wenn sich Empfänger angemeldet haben Es erlaubt eine klare Trennung zwischen Programmcode zur Oberflächengestaltung und solchem zur Implementierung der Anwendungslogik

7 Ereignistypen Low-Level-Ereignisse

8 Ereignistypen Klasse EventObject public Object getsource() Klasse MouseEvent Klick- und Drag-Ereignisse Mausbewegungen Mit getid() kann das Programm herausfinden, um welche Art von Ereignis es sich handelt punlic int getid()

9 Ereignisempfänger (EventListeners)

10 Ereignisquellen (EventSources) Fenster, Dialogelemente oder Programmobjekte Sendet nur ein Ereignis wenn sich ein Empfänger registriert hat Registrierung über spezielle Methoden z.b. addmouselistener( )

11 Ereignisquellen (EventSources) Unterstützt das Multicasting von Ereignissen Daraus Resultiert, das Ereignisempfänger alle zugehörigen Methoden implementieren müssen Ein "MouseListener" z. B. alle fünf Methoden. Das wird dadurch erzwungen, dass im Interface "MouseListener" alle fünf Methoden als abstrakte Methoden aufgeführt sind

12 Adapterklassen Eine Adapterklasse in Java ist eine Klasse, die ein vorgegebenes Interface mit leeren Methodenrümpfen implementiert. Adapterklassen werden verwendet, wenn aus einem Interface lediglich ein Teil der Methoden benötigt wird Zu jedem Low-Level-Ereignisempfänger gibt es eine passende Adapterklasse

13 Implementierung eines EventListener-Interfaces public class Event1 extends JPanel implements MouseListener { private int count = 0; Event1() {addmouselistener(this); public void paintcomponent(graphics g) { super.paintcomponent(g); g.drawstring("counter: " + count, 20, 20); public static void main(string[] args) { JFrame window = new JFrame("Event1"); window.setsize(160, 100); window.setlocation(100, 100); window.setdefaultcloseoperation(jframe.exit_on_close); window.getcontentpane().add(new Event1()); window.setvisible(true); public void mouseentered(mouseevent me) {count++;repaint(); public void mouseclicked(mouseevent me) { public void mouseexited(mouseevent me) { public void mousepressed(mouseevent me) { public void mousereleased(mouseevent me) {

14 Implementierung eines EventListener-Interfaces Die Verbindung der Ereignisquelle mit dem Ereignisempfänger erfolgt durch den Aufruf der Methode addmouselistener(this); Die Klasse "Event1" meldet sich selbst als Ereignisempfänger an Alle Mausereignisse werden dadurch an die Klasse Event1 weitergeleitet und führen zum Aufruf der Methoden des Interfaces MouseListener

15 Implementierung eines EventListener-Interfaces Nachteil: Für jeden Ereignistyp muss eine passende Listener-Klasse registriert werden, dadurch werden schnell viele leere Methodenrüpfe in der Fensterklasse auftreten Höchstens für kleine Programme geeignet

16 Adapter und Innere Klassen public class Event2 extends JPanel { private int count = 0; Event2() { addmouselistener(new MyMouseListener()); public void paintcomponent(graphics g) { super.paintcomponent(g); g.drawstring("counter: " + count, 20, 20); public static void main(string[] args) { JFrame window = new JFrame("Event2"); window.setsize(160, 100); window.setlocation(100, 100); window.setdefaultcloseoperation(jframe.exit_on_close); window.getcontentpane().add(new Event2()); window.setvisible(true); // class MyMouseListener extends MouseAdapter { public void mouseentered(mouseevent me) { count++; repaint();

17 Adapter und Innere Klassen Eine Instanz von "MyMouseListener" wird angelegt und als Ereignisempfänger angemeldet addmouselistener(new MyMouseListener()) Die innere Klasse überschreibt die Methode "mouseentered" der Adapterklasse class MyMouseListener extends MouseAdapter { public void mouseentered(mouseevent me) { count++; repaint();

18 Adapter und Innere Klassen Vorteil: Es werden keine unnützen Methodenrümpfe erzeugt, da nur die tatsächlich benötigten Methoden implementiert werden müssen

19 Adapter und Anonyme Klassen public class Event3 extends JPanel { private int count = 0; Event3() { addmouselistener(new MouseAdapter() { public void mouseentered(mouseevent me) { count++; repaint(); ); public void paintcomponent(graphics g) { super.paintcomponent(g); g.drawstring("counter: " + count, 20, 20); public static void main(string[] args) { JFrame window = new JFrame("Event3"); window.setsize(160, 100); window.setlocation(100, 100); window.setdefaultcloseoperation(jframe.exit_on_close); window.getcontentpane().add(new Event3()); window.setvisible(true);

20 Adapter und Anonyme Klassen Im Konstruktor wird eine Kurzschreibweise eingesetzt addmouselistener(new MyMouseListener()); zusammen mit der Definition class MyMouseListener extends MouseAdapter { public void mouseentered(mouseevent me) { count++; repaint(); wird ersetzt durch: addmouselistener( new MouseAdapter() { public void mouseentered(mouseevent me) { count++; repaint(); );

21 Adapter und Anonyme Klassen Vorteil: Verminderter Aufwand, denn es muss keine separate Klassendefinition angelegt werden Empfiehlt sich vor allem, wenn sehr wenig Code für den Ereignisempfänger benötigt wird

22 Trennung von GUI- und Anwendungscode public class Listing2805{ public static void main(string[] args){ MainFrameCommand cmd =new MainFrameCommand(); MainFrameGUI gui = new MainFrameGUI(cmd); class MainFrameGUI extends Frame{ public MainFrameGUI(KeyListener cmd) { super("nachrichtentransfer"); setbackground(color.lightgray); setsize(600,300); setlocation(200,100); setvisible(true); addkeylistener(cmd); public void paint(graphics g) { g.setfont(new Font("Serif",Font.PLAIN,36)); g.drawstring("zum Beenden bitte ESC drücken...",10,100); class MainFrameCommand extends KeyAdapter{ public void keypressed(keyevent event){ Frame source = (Frame)event.getSource(); if (event.getkeycode() == KeyEvent.VK_ESCAPE){ source.setvisible(false); source.dispose(); System.exit(0);

23 Trennung von GUI- und Anwendungscode Vorwiegend für größere Programme geeignet Für kleiner Programme, oder solche mit wenig Ereigniscode, sollte eher eine der vorherigen Varianten gewählt werden

24 Noch Fragen

25 Danke für ihre Aufmerksamkeit

GUI Programmierung mit JAVA Swing

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

Mehr

I. Grundlagen II. Ereignistypen III. Ereignisempfänger. Event-Handling (EH)

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

Mehr

Einführung in die Programmierung für NF. Übung 08

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

Mehr

Abstrakte Klassen, Interfaces

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

Mehr

JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009.

JButton, JCheckBox, JRadioButton. Programmieren II. Vorlesung 7. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2009. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2009 1 / 30 2 / 30 JButton, JCheckBox, JRadioButton In Swing existieren drei wesentliche Klassen für Schaltflächen: JButton für normale

Mehr

Eventhandling. Delegation model Eventhandler model

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

Mehr

Ereignisverarbeitung in Java

Ereignisverarbeitung in Java Ereignisverarbeitung in Java Michael Dienert 18. Juli 2012 Inhaltsverzeichnis 1 Kommandozeile oder grafische Oberfläche 2 2 Ereignisse, Ereignisquellen und Ereignisabhörer 2 2.1 Ereignisse................................

Mehr

Institut für Programmierung und Reaktive Systeme. GUIs mit Swing. Markus Reschke

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

Mehr

Graphical User Interfaces

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

Mehr

Grundlagen der Programmierung (GP) Prof. Dr. H. Schlingloff Joachim Hänsel

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

Mehr

GUI-Programmierung. Teil I. Unterlagen zum Modul OOP mit Java V by MOU2/BFH-TI. Berner Fachhochschule Technik und Informatik

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

Mehr

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

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.

Mehr

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

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

Mehr

Einstieg in die Informatik mit Java

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

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

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

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik GUI-Programmierung mit Swing Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik GUI-Programmierung mit Swing AWT und Swing Java enthält zwei Pakete zur Programmierung graphischer Oberflächen. java.awt: Das Abstract

Mehr

Swing oder AWT? Was ist das: Swing bzw. AWT. Haupterkennungsmerkmal von Swing Source-Code:

Swing oder AWT? Was ist das: Swing bzw. AWT. Haupterkennungsmerkmal von Swing Source-Code: Swing oder AWT? Was ist das: Swing bzw. AWT Beides sind Klassenbibliotheken mit fertig programmierten Klassen zur Erstellung von graphischen Benutzeroberflächen mit Fenstern, Textfeldern, Buttons etc..

Mehr

11. GUI-Programmierung mit SWING Überblick

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

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 13: Interfaces Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme 1. Teil: Interfaces Motivation Eigenschaften Besonderheiten Anonyme Klassen Lambda-Ausdrücke Praxis:

Mehr

Grafische Benutzeroberflächen

Grafische Benutzeroberflächen Gilbert Beyer und Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Aufgabe Ein Benutzer soll zwei Zahlen in ein Programm

Mehr

Grafische Benutzeroberflächen

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

Mehr

Objektorientierte Software-Entwicklung

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

Mehr

NTB Druckdatum: 01.04.13 -

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

Mehr

Grafische Benutzeroberflächen

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"

Mehr

INE2 OOP mit Java 3 Abstrakte Klassen und Interfaces

INE2 OOP mit Java 3 Abstrakte Klassen und Interfaces INE2 OOP mit Java 3 Abstrakte Klassen und Interfaces Abstrakte Klassen Interfaces (Schnittstelle) Mehrfachvererbung mit Interfaces Interfaces vs. abstrakte Klassen Innere Klassen Anonyme Klassen Adapterklassen

Mehr

Programmiertechnik GUI Programmierung mit Java Swing

Programmiertechnik GUI Programmierung mit Java Swing Programmiertechnik GUI Programmierung mit Java Swing Prof. Dr. Oliver Haase Software Engineering und Verteilte Systeme Raum F012 [email protected] Tel: 07531/206-720 Oliver Haase Hochschule Konstanz

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse

Deklaration einer Klasse Innere innerhalb Klassen einer in Ja anderen v a Klasse Innere Klassen in Java Java 1.0: nur top-level Klassen Seit Java Version 1.1: Innere Klassen Deklaration einer Klasse innerhalb einer anderen Klasse Illustration Eigenschaften Vorteile Anwendungsmöglichkeiten

Mehr

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Einführung: Grafische Benutzeroberflächen. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Einführung: Grafische Benutzeroberflächen 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische

Mehr

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr.

Programmieren II. Java im Vergleich zu anderen Sprachen. Einführung: GUI. Einführung: Grafische Benutzeroberflächen. Dr. Programmieren II Dr. Klaus Höppner Hochschule Darmstadt SS 2008 1 / 22 2 / 22 Einführung: GUI Fast alle Programme besitzen mittlerweile eine grafische Benutzeroberfläche (engl: Graphical User Interface,

Mehr

Info B VL 11: Innere Klassen/Collections

Info B VL 11: Innere Klassen/Collections Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections

Mehr

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik

Programmieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen

Mehr

Grafik in Java. 1 Werkzeugauswahl. 2 Ereignisbehandlung (Listener bzw. Adapter) - 1 -

Grafik in Java. 1 Werkzeugauswahl. 2 Ereignisbehandlung (Listener bzw. Adapter) - 1 - - 1 - Grafik in Java 1 Werkzeugauswahl In unserer statischen All -Klasse deklarieren wir den Aufzählungstyp (enum) Werkzeug und anschließend eine Variable (ein statisches Feld) dieses Typs, die ab jetzt

Mehr

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Java Game Development Fabian Birzele Programmierpraktikum 2008 / 2009

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

Mehr

Aufbau einer typischen Java-Datei

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

Mehr

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

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

Mehr

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4 Hochschule der Medien Klausur Informatik, EDV-Nr. 40301(42021) Seite 1 von 4 Name: Matr. Nr.: Note Teil 1: Keine Hilfsmittel! Bearbeitungszeit: 20 Minuten Frage Stichwort Punkte 1 Schleife 2 2 Code-Fragment

Mehr

OOP: Nebenläufigkeiten Threads. Dipl.-Inform. Arnold Willemer

OOP: Nebenläufigkeiten Threads. Dipl.-Inform. Arnold Willemer OOP: Nebenläufigkeiten Threads Dipl.-Inform. Arnold Willemer [email protected] Schlafen für Profis Die C-64-Lösung kocht und blockiert den Prozessor while (!fertig) // nichts tun: busy waiting

Mehr

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum. Hochschule der Medien Prof Uwe Schulz 1 Februar 2007 Stuttgart Klausur Informatik 2, EDV-Nr 40303/42022 Seite 1 von 2 Name: Matr Nr: Teil 1: Keine Hilfsmittel Bearbeitungszeit: 20 Minuten Teil 1 Teil 2

Mehr

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

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

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

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

Mehr

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen

Prof. Dr. Wolfgang Schramm. Vorlesung. Techniken der Programmentwicklung. Exkurs: Anonyme Klassen Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Vorlesung Exkurs: Anonyme Klassen Techniken der Programmentwicklung Anonyme Klassen

Mehr

Programmieren 2 Java Überblick

Programmieren 2 Java Überblick Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10

Mehr

Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO

Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO Klausur Softwaretechnik / JAVA Fachbereich BW, für WINFO Dipl.-Ing. Klaus Knopper 20.01.2010 Hinweis: Bitte schreiben Sie auf das Deckblatt und auf jede Seite Ihren Namen und/oder Ihre Matrikelnummer,

Mehr

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Innere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11

Mehr

Einführung in GUI-Programmierung. javax.swing

Einführung in GUI-Programmierung. javax.swing Einführung in GUI-Programmierung javax.swing GUI Graphical User Interface ( Grafische Benutzerschnittstelle ) Anschaulichere und leichtere Möglichkeit zur Dateneingabe und Kontrolle von Programmen Stellt

Mehr

II.4.5 Generische Datentypen - 1 -

II.4.5 Generische Datentypen - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche

Mehr