5. Tutorium zu Softwaretechnik I

Größe: px
Ab Seite anzeigen:

Download "5. Tutorium zu Softwaretechnik I"

Transkript

1 5. Tutorium zu Softwaretechnik I JMJRST, Entwurfsmuster, Swing Michael Hoff INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

2 3. Übungsblatt Michael Hoff 5. Tutorium /42

3 Übersicht 1 Entwurfsmuster Strategie Kompositum Dekorierer Beobachter 2 Swing Container Layout ActionListener 3 Abschluss Michael Hoff 5. Tutorium /42

4 JMJRST - Zielsetzung Erstellung eines Lastenhefts und einer Durchführbarkeitsuntersuchung für eine Software zur Bildduplikatreduktion. Entwurf und Implementierung histogrammbasierter Bildähnlichkeit. Anwendungsfallmodellierung und hierarchische Clusteranalyse in Form eines Dendrogramms. Implementierung von Bewertungskriterien für die Güte von Bildern. Generierung einer grafischen Benutzeroberfläche. Beschleunigung durch Ausnutzung von Parallelität. Michael Hoff 5. Tutorium /42

5 Entwurfsmuster 2.0 Michael Hoff 5. Tutorium /42

6 Strategie Zweck Definiere eine Familie von Algorithmen, kapsele sie und mache sie austauschbar. Das Strategiemuster ermöglicht es, den Algorithmus unabhängig von nutzenden Klienten zu variieren. Anwendbarkeit Wenn sich viele verwandte Klassen nur in ihrem Verhalten unterscheiden. Strategieobjekte bieten die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Wenn unterschiedliche Varianten eines Algorithmus benötigt werden. Michael Hoff 5. Tutorium /42

7 Strategie - Abstrakte Struktur Michael Hoff 5. Tutorium /42

8 Kompositum Zweck Füge Objekte zu Baumstrukturen zusammen, um Bestands-Hierarchien zu repräsentieren. Das Muster ermöglicht es Klienten, sowohl einzelne Objekte als auch Aggregate einheitlich zu behandeln. Anwendbarkeit Wenn Bestands-Hierarchien von Objekten repräsentiert werden sollen. Wenn die Klienten in der Lage sein sollen, die Unterschiede zwischen zusammengesetzten und einzelnen Objekten zu ignorieren. Michael Hoff 5. Tutorium /42

9 Kompositum - Struktur Michael Hoff 5. Tutorium /42

10 Dekorierer Michael Hoff 5. Tutorium /42

11 Aufgabe 4: Entwurfsmuster (10P) Gegeben sei folgendes Programm (S.o.p steht für System.out.println): import java.util.*; abstract class Tee { protected boolean gezogen = false; public abstract void ziehen(); // Ende der Klasse Tee class Schwarztee extends Tee { public void ziehen() { S.o.p("Der Schwarztee zieht."); gezogen = true; // Ende der Klasse Schwarztee class GruenerTee extends Tee { public void ziehen() { S.o.p("Der grüne Tee zieht."); gezogen = true; // Ende der Klasse GruenerTee class Chai extends Tee { private Tee basistee; private List<String> zutaten = new ArrayList<String>(); public Chai(Tee grundlage) { if (grundlage==null) throw new IllegalArgumentException(); basistee = grundlage; zutaten.add("lorbeerblatt"); zutaten.add("zimtstange"); zutaten.add("ingwer"); zutaten.add("honig"); zutaten.add("milch"); zutaten.add("vanilleschote"); public void ziehen() { basistee.ziehen(); for (String z : zutaten) { S.o.p(z + " zieht"); S.o.p("Chai zieht"); S.o.p("Tee zieht mit Chai"); gezogen = true; // Ende der Klasse Chai class Test { public static void main (String[] a) { Tee t = new Schwarztee(); Tee chai = new Chai(t); chai.ziehen(); // Ende der Klasse Test a.) Welches Entwurfsmuster wird hier verwendet? ( Oberklasse ist nicht gemeint!) Begründen Sie Ihre Antwort. (2P) Dekorierer (oder: Stellvertreter) 1 P Kompositum: 0 P Begründung: Schnittstelle wird beibehalten, Kernfunktionalität Michael Hoff 5. Tutorium /42

12 Gegeben sei folgendes Programm (S.o.p steht für System.out.println): import java.util.*; abstract class Tee { protected boolean gezogen = false; public abstract void ziehen(); // Ende der Klasse Tee class Schwarztee extends Tee { public void ziehen() { S.o.p("Der Schwarztee zieht."); gezogen = true; // Ende der Klasse Schwarztee class GruenerTee extends Tee { public void ziehen() { S.o.p("Der grüne Tee zieht."); gezogen = true; // Ende der Klasse GruenerTee class Chai extends Tee { private Tee basistee; private List<String> zutaten = new ArrayList<String>(); public Chai(Tee grundlage) { if (grundlage==null) throw new IllegalArgumentException(); basistee = grundlage; zutaten.add("lorbeerblatt"); zutaten.add("zimtstange"); zutaten.add("ingwer"); zutaten.add("honig"); zutaten.add("milch"); zutaten.add("vanilleschote"); public void ziehen() { basistee.ziehen(); for (String z : zutaten) { S.o.p(z + " zieht"); S.o.p("Chai zieht"); S.o.p("Tee zieht mit Chai"); gezogen = true; // Ende der Klasse Chai class Test { public static void main (String[] a) { Tee t = new Schwarztee(); Tee chai = new Chai(t); chai.ziehen(); // Ende der Klasse Test a.) Welches Entwurfsmuster wird hier verwendet? ( Oberklasse ist nicht gemeint!) Begründen Sie Ihre Antwort. (2P) Dekorierer 1 P Kompositum: 0 P Begründung: Schnittstelle wird beibehalten, Kernfunktionalität erhalten, verwendet und ergänzt, Kaskadierbarkeit (1P) b.) Geben Sie an, welche Klasse welche Rolle des Entwurfsmusters einnimmt. (1P) Michael Hoff 5. Tutorium Chai: Dekorierer 0,5 P /42

13 Aufgabe 4: Entwurfsmuster (10P) Gegeben sei folgendes Programm (S.o.p steht für System.out.println): import java.util.*; abstract class Tee { protected boolean gezogen = false; public abstract void ziehen(); // Ende der Klasse Tee class Schwarztee extends Tee { public void ziehen() { S.o.p("Der Schwarztee zieht."); gezogen = true; // Ende der Klasse Schwarztee class GruenerTee extends Tee { public void ziehen() { S.o.p("Der grüne Tee zieht."); gezogen = true; // Ende der Klasse GruenerTee class Chai extends Tee { private Tee basistee; private List<String> zutaten = new ArrayList<String>(); public Chai(Tee grundlage) { if (grundlage==null) throw new IllegalArgumentException(); basistee = grundlage; zutaten.add("lorbeerblatt"); zutaten.add("zimtstange"); zutaten.add("ingwer"); zutaten.add("honig"); zutaten.add("milch"); zutaten.add("vanilleschote"); public void ziehen() { basistee.ziehen(); for (String z : zutaten) { S.o.p(z + " zieht"); S.o.p("Chai zieht"); S.o.p("Tee zieht mit Chai"); gezogen = true; // Ende der Klasse Chai class Test { public static void main (String[] a) { Tee t = new Schwarztee(); Tee chai = new Chai(t); chai.ziehen(); // Ende der Klasse Test b.) Geben Sie an, welche Klasse welche Rolle des Entwurfsmusters einnimmt. (1P) Michael Hoff 5. Tutorium /42

14 Gegeben sei folgendes Programm (S.o.p steht für System.out.println): import java.util.*; abstract class Tee { protected boolean gezogen = false; public abstract void ziehen(); // Ende der Klasse Tee class Schwarztee extends Tee { public void ziehen() { S.o.p("Der Schwarztee zieht."); gezogen = true; // Ende der Klasse Schwarztee class GruenerTee extends Tee { public void ziehen() { S.o.p("Der grüne Tee zieht."); gezogen = true; // Ende der Klasse GruenerTee class Chai extends Tee { private Tee basistee; private List<String> zutaten = new ArrayList<String>(); public Chai(Tee grundlage) { if (grundlage==null) throw new IllegalArgumentException(); basistee = grundlage; zutaten.add("lorbeerblatt"); zutaten.add("zimtstange"); zutaten.add("ingwer"); zutaten.add("honig"); zutaten.add("milch"); zutaten.add("vanilleschote"); public void ziehen() { basistee.ziehen(); for (String z : zutaten) { S.o.p(z + " zieht"); S.o.p("Chai zieht"); S.o.p("Tee zieht mit Chai"); gezogen = true; // Ende der Klasse Chai class Test { public static void main (String[] a) { Tee t = new Schwarztee(); Tee chai = new Chai(t); chai.ziehen(); // Ende der Klasse Test b.) Geben Sie an, welche Klasse welche Rolle des Entwurfsmusters einnimmt. (1P) Chai: Dekorierer 0,5 P Tee: Subjekt oder Komponente GruenerTee und Schwarztee: echtes Subjekt, konkrete Komponente, dekoriertes Objekt oder Blatt Michael Hoff 5. Tutorium /42

15 Aufgabe 4: Entwurfsmuster (10P) Gegeben sei folgendes Programm (S.o.p steht für System.out.println): import java.util.*; abstract class Tee { protected boolean gezogen = false; public abstract void ziehen(); // Ende der Klasse Tee basistee = grundlage; zutaten.add("lorbeerblatt"); zutaten.add("zimtstange"); zutaten.add("ingwer"); zutaten.add("honig"); zutaten.add("milch"); zutaten.add("vanilleschote"); class Schwarztee extends Tee { public void ziehen() { S.o.p("Der Schwarztee zieht."); gezogen = true; // Ende der Klasse Schwarztee class GruenerTee extends Tee { public void ziehen() { S.o.p("Der grüne Tee zieht."); gezogen = true; // Ende der Klasse GruenerTee class Chai extends Tee { private Tee basistee; private List<String> zutaten = new ArrayList<String>(); c.) public Chai(Tee grundlage) { if (grundlage==null) throw new IllegalArgumentException(); public void ziehen() { basistee.ziehen(); for (String z : zutaten) { S.o.p(z + " zieht"); S.o.p("Chai zieht"); S.o.p("Tee zieht mit Chai"); gezogen = true; // Ende der Klasse Chai class Test { public static void main (String[] a) { Tee t = new Schwarztee(); Tee chai = new Chai(t); chai.ziehen(); // Ende der Klasse Test Geben Sie das UML-Klassendiagramm des hinter dem Code stehenden Modells an. Ihr Diagramm soll alle Klassen (außer der Klasse Test ) mit allen Attributen, Methoden (incl. Sichtbarkeit etc.) und Assoziationen enthalten. (3P) Hinweis: Achten Sie darauf, Attribute und Assoziationen nicht zu verwechseln! Michael Hoff 5. Tutorium /42

16 Tee {abstract #gezogen: boolean +ziehen(): void {abstract 1 basistee Schwarztee +ziehen(): void GruenerTee +ziehen(): void Chai -zutaten: List<String> +Chai(grundlage: Tee): Chai +ziehen(): void Punkte sammeln: Alle Attribute und Methoden eingetragen: 0,5 P Sichtbarkeiten immer richtig: 0,5 P Klasse Tee und Methode ziehen in Tee {abstract und Methode ziehen in allen Unterklassen nichtabstrakt überschrieben: 0,5 P Vererbungsbeziehungen richtig: 0,5 P Assoziation vorhanden: 0,5 P Assoziation korrekt attributiert: 0,5 P Abzug für: GruenerTee oder Schwarztee vergessen: -0,5 P Michael Hoff 5. Tutorium /42 *

17 Beobachter Michael Hoff 5. Tutorium /42

18 Beobachter Zweck Definiert eine 1-zu-n Abhängigkeit zwischen Objekten, so dass die Änderung eines Zustandes eines Objektes dazu führt, dass alle abhängigen Objekte benachrichtigt und automatisch aktualisiert werden. Anwendbarkeit Wenn die Änderung eines Objekts die Änderung anderer Objekte verlangt und man nicht weiß, wie viele und welche Objekte geändert werden müssen. Wenn ein Objekt andere Objekte benachrichtigen muss, ohne Annahmen über diese Objekte zu treffen. Michael Hoff 5. Tutorium /42

19 Beobachter - Struktur? Michael Hoff 5. Tutorium /42

20 Beobachter - Struktur Subjekt meldean(:beobachter) meldeab(:beobachter) benachrichtige() beobachter 1 * für alle b in beobachter { b.aktualisiere() Beobachter aktualisiere() KonkreterBeobachter KonkretesSubjekt subjektzustand subjekt beobachterzustand aktualisiere() beobachterzustand = subjekt.gibzustand() gibzustand() setzezustand() return subjektzustand 31 Kapitel Entwurfsmuster Michael Hoff 5. Tutorium /42

21 Beobachter: Interaktionsdiagramm Beobachter - Ablauf :KonkretesSubjekt :KonkreterBeobachter :KonkreterBeobachter setzezustand() benachrichtige() aktualisiere() gibzustand() aktualisiere() gibzustand() 32 Kapitel Entwurfsmuster Michael Hoff 5. Tutorium /42

22 Beobachter - Beispiel Michael Hoff 5. Tutorium /42

23 obachter: Beispiel Model View Controller Fenster Beobachter Fenster Fenster x y z a b c a b c Kapitel Entwurfsmuster a=50% b=30% c=20% Subjekt Benachrichtigung über Änderung Anfragen, Veränderungen Michael Hoff 5. Tutorium /42

24 Beobachter in Swing: ActionListener Javadoc-Beschreibung The listener interface for receiving action events. The class that is interested in processing an action event implements this interface, and the object created with that class is registered with a component, using the component s addactionlistener method. When the action event occurs, that object s actionperformed method is invoked. Werden üblicherweise genutzt, um auf Benutzeraktionen über Steuerelemente zu reagieren GUI-Klassen registrieren sich bei den Steuerelementen und werden so über Events informiert Michael Hoff 5. Tutorium /42

25 Swing Michael Hoff 5. Tutorium /42

26 CheckBox (AWT) Component (AWT) Container (AWT) add(component); JComponent Panel (AWT) Window (AWT) 20 Kapitel X - Grafische Benutzeroberflächen mit Java und Swing Michael Hoff 5. Tutorium /42

27 Component JButton JCheckBoxMenuItem JMenu Container AbstractButton JMenuItem JRadioButtonMenuItem JComponent JComboBox JLabel JToggleButton JCheckBox JRadioButton JList JEditorPane JTextPane JTextComponent JTextArea JTextField JPasswordField Pakete: java.awt.* java.swing.* 44 Kapitel X - Grafische Benutzeroberflächen mit Java und Swing Michael Hoff 5. Tutorium /42

28 Aufbau von Dialogen f : JFrame f.getcontentpane() : Container (eigentlich ein JPanel) JLabel JButton JTextField Auch ein JPanel Noch ein JPanel 17 Kapitel X - Grafische Benutzeroberflächen mit Java und Swing Michael Hoff 5. Tutorium /42

29 Michael Hoff 5. Tutorium /42

30 Michael Hoff 5. Tutorium /42

31 Michael Hoff 5. Tutorium /42

32 Michael Hoff 5. Tutorium /42

33 Neues Ereignis Nächstes, zu verarbeitendes Ereignis S: JButton Title = Schaltfläche Beobachter klick: ActionListener Klick! Ereignis Rest der Ereignisliste :ActionEvent Quelle void actionperformed (ActionEvent e) { System.exit(0); Reaktormethode 30 Kapitel X - Grafische Benutzeroberflächen mit Java und Swing Michael Hoff 5. Tutorium /42

34 Importieren der benötigten Pakete import java.awt.event.*; import javax.swing.*; public class HalloWelt extends JFrame { public HalloWelt() { super("hallo Welt!"); JButton schaltflaeche = new JButton(" =?"); schaltflaeche.addactionlistener(new ActionListener() { public void actionperformed(actionevent e) { JOptionPane.showMessageDialog(null, " = 10", "Antwort:", JOptionPane.QUESTION_MESSAGE); ); this.add(schaltflaeche); this.setdefaultcloseoperation(exit_on_close); this.pack(); public static void main(string[] args) { HalloWelt fenster = new HalloWelt(); fenster.setvisible(true); Erben von der Hauptfensterklasse Konstruktor von JFrame mit Titel des Fensters aufrufen. Erstellen einer Schaltfläche mit der angegebenen Beschriftung. Angeben, was bei einer Aktion auf der Schaltfläche passieren soll. Schaltfläche zum Fenster hinzufügen. Aktion angeben, die beim Schließen des Fensters ausgelöst werden soll. Fenstergröße anpassen, Anordnung der Komponenten an Fenstergröße anpassen. Zeigt das erstellte Fenster an. Michael Hoff 5. Tutorium /42

35 AUFGABE 3: SWING (10 P) Gegeben sei folgende Skizze eines Fensters einer Java-Anwendung: Donnervogel Adressen Datei Bearbeiten Hilfe Ärzte Über Donnervogel Nachname Vorname Anschrift Familie Versionshinweise Laffer Larry Lefty s Bar Freizeit Threepwood Guybrush U. Karibik Geschäftlich Speichern Beenden Schreiben Sie in die gestrichelten Kästchen, um welche konkreten Swing-Benutzeroberflächenelemente es sich handelt. In die größeren, geteilten Kästchen tragen Sie bitte auch den verwendeten LayoutManager ein. Klausur Softwaretechnik 1 Sommersemester 2009 Seite 5 von 13 Michael Hoff 5. Tutorium /42

36 AUFGABE 3: SWING (10 P) Gegeben sei folgende Skizze eines Fensters einer Java-Anwendung: JMenu JMenuItem Donnervogel Adressen Datei Bearbeiten Hilfe Ärzte Familie Freizeit Geschäftlich Über Donnervogel Nachname Vorname Anschrift Versionshinweise Laffer Larry Lefty s Bar Threepwood Guybrush U. Karibik JMenuBar JPanel/JFrame BorderLayout JTable JList Speichern Beenden JPanel FlowLayout JButton Schreiben Sie in die gestrichelten Kästchen, um welche konkreten Swing-Benutzeroberflächenelemente es sich handelt. In die größeren, geteilten Kästchen tragen Sie bitte auch den verwendeten LayoutManager ein. EntwurfsmusterKlausur Softwaretechnik 1 Sommersemester Swing 2009 Seite 5 von 13 Abschluss Michael Hoff 5. Tutorium /42

37 Weitere Entwurfsmuster Michael Hoff 5. Tutorium /42

38 Prüfungsfragen Michael Hoff 5. Tutorium /42

39 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Michael Hoff 5. Tutorium /42

40 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Michael Hoff 5. Tutorium /42

41 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Michael Hoff 5. Tutorium /42

42 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Michael Hoff 5. Tutorium /42

43 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Michael Hoff 5. Tutorium /42

44 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Michael Hoff 5. Tutorium /42

45 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Michael Hoff 5. Tutorium /42

46 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Michael Hoff 5. Tutorium /42

47 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Auf ein private-attribut eines Exemplars einer Klasse kann nur das Exemplar selber zugreifen. Michael Hoff 5. Tutorium /42

48 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Auf ein private-attribut eines Exemplars einer Klasse kann nur das Exemplar selber zugreifen. Michael Hoff 5. Tutorium /42

49 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Auf ein private-attribut eines Exemplars einer Klasse kann nur das Exemplar selber zugreifen. In Java ist Swing die einzige mitgelieferte GUI-Schnittstelle. Michael Hoff 5. Tutorium /42

50 Prüfungsfragen Schnittstellen können Implementierungsdetails vererben. Das Entwurfsmuster Strategie bietet die Möglichkeit, eine Klasse mit einer von mehreren möglichen Verhaltensweisen zu konfigurieren. Die Signatur einer Methode besteht in Java aus dem Methodennamen, der Parameterliste und dem Rückgabetyp. Nicht-funktionale Anforderungen sind sowohl Teil des Pflichtenhefts als auch des Lastenhefts. Auf ein private-attribut eines Exemplars einer Klasse kann nur das Exemplar selber zugreifen. In Java ist Swing die einzige mitgelieferte GUI-Schnittstelle. Michael Hoff 5. Tutorium /42

51 Fragen? Michael Hoff 5. Tutorium /42

52 Aktuelles Übungsblatt Michael Hoff 5. Tutorium /42

53 Ende Michael Hoff 5. Tutorium /42

Klausur Softwaretechnik

Klausur Softwaretechnik Klausur Softwaretechnik 15.03.2007 Prof. Dr. Walter F. Tichy Dipl.-Inform. T. Gelhausen Dipl.-Inform. G. Malpohl Hier das Namensschild aufkleben. Zur Klausur sind keine Hilfsmittel und kein eigenes Papier

Mehr

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

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen

Einführung in die Programmierung für NF. Grafische Benutzeroberflächen Einführung in die Programmierung für NF Grafische Benutzeroberflächen Ziele Grafische Benutzeroberflächen (Graphical User Interfaces) als Anwendungsbeispiel für die objektorienferte Programmierung kennenlernen.

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

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

Swing Lernen am Code Teil 1

Swing Lernen am Code Teil 1 Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster

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

Kapitel X - Grafische Benutzeroberflächen mit Java und Swing

Kapitel X - Grafische Benutzeroberflächen mit Java und Swing Kapitel X - Grafische Benutzeroberflächen mit Java und Swing SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum

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

Kapitel 8: Grafische Benutzerschnittstellen

Kapitel 8: Grafische Benutzerschnittstellen Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2)

Ziele. Kapitel 8: Grafische Benutzerschnittstellen. AWT und Swing. Ziele (2) Einführung in die Informatik: Programmierung und Softwareentwicklung Wintersemester 2018/19 Ziele Kapitel 8: Grafische Benutzerschnittstellen Prof. Dr. David Sabel Lehr- und Forschungseinheit für Theoretische

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 5. Grafische Userinterfaces Christian Scheible Institut für Maschinelle Sprachverarbeitung 31. Juli 2009 Christian Scheible Java für Computerlinguisten 31. Juli 2009 1 / 33

Mehr

04 - Actions. Actions

04 - Actions. Actions Actions Motivation!In verschiedenen Swing-Komponenten werden ausgelöste Aktionen durch ActionListener behandelt.!häufig werden gleiche Aktionen durch verschiedene Swing-Komponenten ausgelöst. Z.B. durch

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

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

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

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

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI)

Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 1 JAVA für Bauingenieure Alexander Karakas SS 2008 Zentrale Objekte zur Programmierung graphischer Benutzeroberflächen (GUI) 21.05.2008 2 Was ist ein(e) GUI? GUI = Graphical User Interface = Graphische

Mehr

JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg )

JLabel. dient zur Textanzeige. können auch Bilder anzeigen: mylabel.seticon( new ImageIcon( C:/Pfad/zum/Bild.jpg ) Swing Komponenten Thomas Wieczorek http://www.wieczo.net/?p=76 Hier trage ich die Komponenten zusammen, die Kreling und Wiedling in ihren Klausuren oft verwendet haben. Bei Verbesserung: Bitte Kommentar

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 03: Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Einführung in GUI-Programmierung Motivation Grundlagen von Swing Praxis: UI für

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

Entwurfsmuster. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD)

Entwurfsmuster. Tutorium 7 iloveswt.de Fabian I. Miltenberger INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) Entwurfsmuster Tutorium 7 iloveswt.de Fabian I. Miltenberger 06.06.2016 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Klausur Softwaretechnik Prof. Dr. Walter F. Tichy Dipl.-Inform. T. Gelhausen Dipl.-Inform. G. Malpohl. Musterlösung

Klausur Softwaretechnik Prof. Dr. Walter F. Tichy Dipl.-Inform. T. Gelhausen Dipl.-Inform. G. Malpohl. Musterlösung Klausur Softwaretechnik 15.03.2007 Prof. Dr. Walter F. Tichy Dipl.-Inform. T. Gelhausen Dipl.-Inform. G. Malpohl Musterlösung Punkte Note 0 5,0 18 4,0 21 3,7 24 3,3 27 3,0 30 2,7 33 2,3 36 2,0 39 1,7 42

Mehr

Objektorientierte Programmierung

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:

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

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

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

Java GUI Entwicklung mit Swing

Java GUI Entwicklung mit Swing Seminarunterlage Version: 5.03 Version 5.03 vom 13. Februar 2014 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

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

Einführung in die Programmierung für NF. Übung Einführung in die Programmierung für NF Übung 09 18.12.2013 Inhalt Korrektur Blatt 8 Wiederholung Design Patterns Einführung in GUI s mit Java Swing und AWT Einführung in die Programmierung für NF Übung

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

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 11 Prof. R. Westermann, R. Fraedrich,

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 20 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 20 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

...erinnern Sie sich? oopjs4b / kwhbkd4r

...erinnern Sie sich? oopjs4b / kwhbkd4r ...erinnern Sie sich? oopjs4b / kwhbkd4r !" Ereignisbehandlung in awt/swing führt Liste interessierter Behandler GUI- Komponente (z.b. Knopf) wird eingetragen trägt ein Ereigniskanal fertigt ab neuer Behandler

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 haase@htwg-konstanz.de Tel: 07531/206-720 Oliver Haase Hochschule Konstanz

Mehr

Objektorientierte und Funktionale Programmierung SS 2014

Objektorientierte und Funktionale Programmierung SS 2014 Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

Medientechnik. Übung 2 Java Swing

Medientechnik. Übung 2 Java Swing Medientechnik Übung 2 Java Swing Planung Nr Zeitraum Thema 1 20.04. 25.04. Bildretusche mit Gimp 2 27.04. 01.05. GUI Programmierung 3 04.05. 08.05. Model-View Controller 4 18.05. 22.05. Bildfilter 5 26.05.

Mehr

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum

Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum. Rückblick Themen Erste GUI-Anwendung Praktikum Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2012 1 / 19 Rückblick Themen Erste GUI-Anwendung Praktikum 2 / 19 Inhalt von Teil 1 Algorithmen Elementare Datentypen Operatoren Bedingte

Mehr

KLAUSUR SOFTWARETECHNIK I

KLAUSUR SOFTWARETECHNIK I KLAUSUR SOFTWARETECHNIK I 12.10.2009 Prof. Dr. Walter F. Tichy Dipl.-Inform. Andreas Höfer Dipl.-Inform. David J. Meder Hier das Namensschild aufkleben. Zur Klausur sind keine Hilfsmittel und kein eigenes

Mehr

Sommersemester Implementierung III: GUI und Verhalten (Teil 2)

Sommersemester Implementierung III: GUI und Verhalten (Teil 2) Sommersemester 2003 Implementierung III: GUI und Verhalten (Teil 2) 26 Aufgabe 5 Implementierung III: GUI und Verhalten (Teil 2) Umfang: 1 Woche Punkte: 50 P. Als Nächstes soll die Implementierung des

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

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

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1

Heute. Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files IT I - VO 11 1 Heute Grafische Benutzeroberflächen (Anonyme) innere Klassen Einfache Simulationen main / ausführbare jar-files 17.01.2017 IT I - VO 11 1 Organisatorisches Noch zwei UE und eine Wissensüberprüfung Heute

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

Universität Karlsruhe (TH) Kapitel X Grafische Benutzeroberflächen mit Java und Swing

Universität Karlsruhe (TH) Kapitel X Grafische Benutzeroberflächen mit Java und Swing Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel X Grafische Benutzeroberflächen mit Java und Swing SWT I Sommersemester 2009 Prof. Walter F. Tichy Andreas Höfer David Meder Lernziele

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Events in Java Graphische Anwendungen werden über Events gesteuert.

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane

Tutorial04: Swing: Erstellen eines JFrames mit einem JSplitPane Hochschule Harz Programmierung2 Tutorial 04: FB Automatisierung und Informatik Dipl.-Inf., Dipl.-Ing. (FH) M. Wilhelm Programmierung 2 für MI / WI Thema: Swing, JSplitPane und I/O Versuchsziele Kenntnisse

Mehr

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java I Vorlesung 11 Graphische Oberflächen mit Swing Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java

Mehr

Grafische Benutzeroberflächen mit Swing

Grafische Benutzeroberflächen mit Swing Grafische Benutzeroberflächen mit Swing KW 30, Zentralübung Informatik II 2006-07-24 Klausur: Stichpunkte 1. Auswertung System.out.println("abc" instanceof String); Ergebnis von instanceof ist ein boolean,

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15. Institut für Angewandte Informatik

Programmieren II. Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15.  Institut für Angewandte Informatik Programmieren II Events (Ereignisse) Heusch 16.6 (2. Bd) Ratz 15 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Event-Modelle in Java Graphische Anwendungen werden über Events

Mehr

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor();

/** Main-Methode erzeugt einen neuen Editor zum Testen */ public static void main(string[] args) { new Editor(); Bereich: Grafische Benutzeroberflächen (UI), Events (2) Editor Package: de.dhbwka.java.exercise.ui.editor Klasse: Editor Aufgabenstellung: Schreiben Sie einen kleinen Texteditor mit Swing! Keine Panik,

Mehr

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing

Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Wiederholung: Objektorientierte Oberflächen-Programmierung mit Java und Swing Heinrich Hußmann Ludwig-Maximilians-Universität München Sommersemester 2003 Ludwig-Maximilians-Universität München Prof. Hußmann

Mehr

Auszug aus der Klassenstruktur

Auszug aus der Klassenstruktur Swing javax.swing Auszug aus der Klassenstruktur JComponent AbstractButton JColorChooser JComboBox JInternalFrame JLabel JList JPanel JTable JTextComponent JTree JToolBar JToolTip JToggleButton JButton

Mehr

Softwaretechnik. M. Jakob. 15. März Gymnasium Pegnitz

Softwaretechnik. M. Jakob. 15. März Gymnasium Pegnitz Softwaretechnik M. Jakob Gymnasium Pegnitz 15. März 2016 Inhaltsverzeichnis 1 Grundlagen der Projektorganisation 2 Entwurfsmuster Allgemeines Adaptermuster Kompositum Beobachtermuster model-view-controller-muster

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

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

GUI Programmierung mit javax.swing

GUI Programmierung mit javax.swing java.awt Swing Komponenten Layout Manager Ausblick GUI Programmierung mit University basierend auf Folien von Dr. Beatrice Amrhein (Bern), 19. Juni 2006 java.awt Swing Komponenten Layout Manager Ausblick

Mehr

Probeklausur Informatik 2 Sommersemester 2013

Probeklausur Informatik 2 Sommersemester 2013 Probeklausur Informatik 2 Sommersemester 2013 1 Probeklausur Informatik 2 Sommersemester 2013 Name: Matrikelnummer: Hilfsmittel: Es sind alle schriftlichen Unterlagen, aber keine elektronischen Hilfsmittel

Mehr

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme

UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme UNIVERSITÄT SIEGEN Fachbereich 12, Elektrotechnik und Informatik Fachgruppe Betriebssysteme / verteilte Systeme Musterklausur zur Einführung in die Informatik II 2. Teilklausur, 18.07.2006 Bitte lesen

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

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

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Tutorium 17 Fabian Miltenberger 16.06.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes Baden-Württemberg

Mehr

Swing : Komponeneten I (Teil 1) Was ist Swing?

Swing : Komponeneten I (Teil 1) Was ist Swing? Was ist Swing? 1 Unterschied zu AWT (Abstract window Toolkit) Zusätzliche Komponenten von Swing,die zu Oberflächenerzeugung genutzt werden können: Keyboard Accelerators, also Tastenkombination zur Steuerung

Mehr

7. Architektur interaktiver Systeme

7. Architektur interaktiver Systeme 7. Architektur interaktiver Systeme 7.1 Entkopplung durch Sichten 7.2 Ereignisgesteuerter Programmablauf 7.3 Benutzungsoberflächen (Fortsetzung) Layout-Manager Definition Ein Layout-Manager ist ein Objekt,

Mehr

Kapitel 7: Ereignis-basierte Kommunikation

Kapitel 7: Ereignis-basierte Kommunikation Liste P: Programmieren mit Java WS 2001/2002, Prof. Dr. V. Turau, FH Wiesbaden Kapitel 7: Ereignis-basierte Kommunikation Folie 125 : Grafische Oberflächen Eine grafische Oberfläche besteht aus Komponenten.

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

Objektorientierteund FunktionaleProgrammierung

Objektorientierteund FunktionaleProgrammierung Objektorientierte und Funktionale Programmierung SS 2014 6 Objektorientierte Entwurfsmuster 1 6 Objektorientierte Entwurfsmuster Lernziele Einige wichtige Entwurfsmuster kennen und verstehen Einsatzmöglichkeiten

Mehr

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout.

jcontentpane.setlayout(new BorderLayout()); // unten JPanel unten = new JPanel(); unten.setlayout( new BoxLayout(unten, BoxLayout. 04.07.2011 Lösungsvorschlag 1. Aufgabe (12 + 12 Punkte): Screendesign : im Center: Label mit Bild 3P: Panel im West mit BoxLayout und TextField, Scrollpane und TextArea 4P: Panel im East mit FlowLayout

Mehr

EAD II Übung 5. Graphische Benutzungsoberfläche mit BlueJ

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,

Mehr

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster

Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Entwurfsmuster Entkopplungs-, Varianten- und Zustandsmuster Tutorium 7 iloveswt.de Fabian I. Miltenberger 20.06.2016 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD) KIT Universität des Landes

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II SS 2012 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Einführung in die Informatik II 1 Prüfungstermine EI II im Sommersemester 2012 Klausurtermine

Mehr

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung

DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;

Mehr

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick

Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Zeichnen 5 Layout Manager 6 Komplexere Swing Komponenten

Mehr

Strategie. (Strategy. / Policy) Ein objektbasiertes Verhaltensmuster. Stephan Munkelt, Stefan Salzmann - 03IN

Strategie. (Strategy. / Policy) Ein objektbasiertes Verhaltensmuster. Stephan Munkelt, Stefan Salzmann - 03IN Strategie (Strategy / Policy) Ein objektbasiertes Verhaltensmuster Gliederung 1. Zweck 2. Motivation 3. Anwendbarkeit 4. Struktur 5. Teilnehmer 6. Interaktionen 7. Konsequenzen 8. Implementierung 9. Beispiele

Mehr

14 Swing-Komponenten. 2009 2014, Prof. Dr. D. Ratz

14 Swing-Komponenten. 2009 2014, Prof. Dr. D. Ratz 14 Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 14.1 Typische Komponenten für Benutzerschnittstellen Das Abstract Window Toolkit (AWT) liefert bereits viele Möglichkeiten für Komponenten für graphische

Mehr

Einführung in Swing. Graphical User Interface

Einführung in Swing. Graphical User Interface Einführung in Swing Ho Ngoc Duc IFIS - Universität zu Lübeck Graphical User Interface Ein GUI-Programm beinhaltet: Graphische Darstellung der Anwendungsdaten und Interaktionsmöglichkeiten in Fenstern Steuerung

Mehr

7. Architektur interaktiver Systeme

7. Architektur interaktiver Systeme 7. Architektur interaktiver Systeme 7.1 Entkopplung durch Sichten 7.2 Ereignisgesteuerter Programmablauf 7.3 Benutzungsoberflächen 7. Architektur interaktiver Systeme 7.2 Ereignisgesteuerter Programmablauf

Mehr

5. Java Swing Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006

5. Java Swing Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 5. Java Swing Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung II Einordnung

Mehr

Objektorientierte und Funktionale Programmierung

Objektorientierte und Funktionale Programmierung Objektorientierte und Funktionale Programmierung SS 2013 6 Objektorientierte Entwurfsmuster Wissensbassierte Systeme / Wissensmanagement Objektorientierte und Funktionale Programmierung 1 PrüfungstermineOFP

Mehr

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

Fachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 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 1 Schleife 2 2 Code-Fragment mit

Mehr

Objektorientierte Softwareentwicklung

Objektorientierte Softwareentwicklung Objektorientierte Softwareentwicklung Exkurs GUI-Programmierung mit Java-SWING Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Für Hinweise und konstruktive Kritik

Mehr

Instrumentierung und Dekodierung

Instrumentierung und Dekodierung 116 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Instrumentierung und Dekodierung Erweiterung der Grafikklassen Das awt-paket erweitert alle Klassen für Grafikobjekte in java.awt, so

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

import java.awt.*; import java.awt.event.*; import javax.swing.*;

import java.awt.*; import java.awt.event.*; import javax.swing.*; Swing Workshop Dieser Workshop enthält grundsätzliche Informationen über Swing und Java und regt mit einigen Beispielen und Übungen zum weiteren Erkunden dieses Themengebietes an. Kapitel 1: Das erste

Mehr

Ho Ngoc Duc IFIS - Universität zu Lübeck

Ho Ngoc Duc IFIS - Universität zu Lübeck Ho Ngoc Duc IFIS - Universität zu Lübeck 30.04.2003 SWING ist die Java Klassenbibliothek zur Entwicklung grafischer Oberflächen. Im Gegensatz zum AWT (Abstract Windowing Toolkit) nutzt SWING leichtgewichtete

Mehr

Klausur: Java (Liste P)

Klausur: Java (Liste P) Klausur: Java (Liste P) WS05/06 Erlaubte Hilfsmittel: Gebundene! Unterlagen (Skript mit Anmerkungen, eigene Mitschrift) und maximal ein Buch. Bitte keine losen Blätter. Lösung ist auf den Klausurbögen

Mehr

2. Programmierung von Benutzungsschnittstellen

2. Programmierung von Benutzungsschnittstellen 2. Programmierung von Benutzungsschnittstellen 2.1 Modell-Sicht-Paradigma 2.2 Bausteine für grafische Oberflächen 2.3 Ereignisgesteuerte Programme 1 Benutzungsoberflächen Technische Realisierungen: Stapelverarbeitungssprache

Mehr

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.

Lösungen. 1. Aufgabe. // ActionExample.java import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event. Lösungen 1. Aufgabe // ActionExample.java import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class ActionExample extends JFrame int counter = 1; JLabel counterlabel; public

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 02: Streams filtern, Swing Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Datenströme (Streams) Filtern FilterWriter, - Reader 2.

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

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben

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

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt

Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt GUI GUI = Graphical User Interface Ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt Gute Übersicht über alle Funktionalitäten

Mehr