Aufgabe Malen zum Software-Engineering. Karl Friedrich Gebhardt
|
|
- Stephanie Linden
- vor 7 Jahren
- Abrufe
Transkript
1 Aufgabe Malen zum Software-Engineering Karl Friedrich Gebhardt 8. Februar 2017
2 c 2010 Karl Friedrich Gebhardt Auflage vom 8. Februar 2017
3 Aufgabe Das folgende Dokument enthält eine Reihe von aufeinander aufbauenden Aufgaben, an denen hauptsächlich die Anwendung von Entwurfsmustern geübt werden soll. Außerdem soll Erfahrung im Programmieren und im Erstellen von UML-Diagrammen gewonnen werden. Die Aufgaben sind nicht im Team, sondern einzeln durchzuführen. Die Wahl der Programmiersprache ist freigestellt. Allerdings kann eine kompetente Betreuung bezüglich Programmiersprache nur in Java erfolgen. Abzugeben ist diese Dokumentation mit den Lösungen. i
4 ii
5 Inhaltsverzeichnis 1 Das Beispiel Malen 1 2 Entwurfsmuster Factory Method 5 3 Entwurfsmuster Abstract Factory 7 4 Entwurfsmuster Prototype 9 5 Entwurfsmuster Composite 11 6 Entwurfsmuster Bridge 13 7 Entwurfsmuster Decorator 15 8 Entwurfsmuster Observer 19 iii
6 Kapitel 1 Das Beispiel Malen Mit dem folgenden Java-Programm Malen kann man mit der Maus in verschiedenen Farben auf ein JPanel malen. import import import java.awt.*; java.awt.event.*; javax.swing.*; public class Malen implements ActionListener, ItemListener, MouseMotionListener { private Container behaelter; public void setbehaelter (Container behaelter) { this.behaelter = behaelter; } private int altesx = 0; private int altesy = 0; private Color aktuellefarbe = Color.black; private JButton loeschknopf; private JComboBox farbwahl; private JButton endeknopf; private static final String private static final String private static final String private static final String private static final String schwarz = "Schwarz"; rot = "Rot"; gelb = "Gelb"; gruen = "Grün"; blau = "Blau"; public void init () { behaelter.setlayout (new FlowLayout ()); behaelter.setbackground (Color.gray); loeschknopf = new JButton ("Löschen"); loeschknopf.addactionlistener (this); loeschknopf.setforeground (Color.black); loeschknopf.setbackground (Color.lightGray); behaelter.add (loeschknopf); farbwahl = new JComboBox (); farbwahl.additemlistener (this); farbwahl.additem (schwarz); farbwahl.additem (rot); farbwahl.additem (gelb); farbwahl.additem (gruen); farbwahl.additem (blau); farbwahl.setforeground (Color.black); farbwahl.setbackground (Color.lightGray); behaelter.add (new JLabel ("Farbe: ")); 1
7 2 KAPITEL 1. DAS BEISPIEL MALEN behaelter.add (farbwahl); endeknopf = new JButton ("Ende"); endeknopf.addactionlistener (this); endeknopf.setforeground (Color.black); endeknopf.setbackground (Color.lightGray); behaelter.add (endeknopf); behaelter.addmousemotionlistener (this); } public void actionperformed (ActionEvent ereignis) { Object ereignisquelle = ereignis.getsource (); if (ereignisquelle == loeschknopf) { behaelter.repaint (); } else if (ereignisquelle == endeknopf) { System.exit (0); } } public void itemstatechanged (ItemEvent e) { if (e.getitem () == schwarz) aktuellefarbe = Color.black; else if (e.getitem () == rot) aktuellefarbe = Color.red; else if (e.getitem () == gelb) aktuellefarbe = Color.yellow; else if (e.getitem () == gruen) aktuellefarbe = Color.green; else if (e.getitem () == blau) aktuellefarbe = Color.blue; } public void mousedragged (MouseEvent e) { Graphics g = behaelter.getgraphics (); g.setcolor (aktuellefarbe); g.drawline (altesx, altesy, e.getx (), e.gety ()); altesx = e.getx (); altesy = e.gety (); } public void mousemoved (MouseEvent e) { altesx = e.getx (); altesy = e.gety (); } public void addiere (JComponent komponente) { behaelter.add (komponente); } public static void { } JFrame main (String[] argument) f = new JFrame ("Malen"); Malen m = new Malen (); m.setbehaelter (f.getcontentpane ()); m.init (); f.pack (); // Trick: Erzeugt Peer-Frame f.setsize (600, 400); f.setvisible (true); } Die Aufgaben dieses ersten Kapitels dienen dazu, das Programm näher kennenzulernen und durch Verbesserungen des Programms die Programmierfähigkeiten aufzuwärmen. Aufgaben:
8 3 Schreiben Sie die Klasse Malen ab. Übersetzen Sie das Programm und lassen Sie es als Anwendung laufen. 1. Erweitern Sie das Programm um die Farben Zyan (Color.cyan) und Magenta (Color.magenta). 2. Beim Farbwahlmenü soll die Hintergrund-Farbe die aktuelle Mal-Farbe sein. Die Vordergrund-Farbe soll man gut sehen können, d.h. soll Weiß oder Schwarz oder noch etwas Intelligenteres sein. 3. Wenn das Fenster überdeckt, vergrößert oder verkleinert wird, dann bleibt die Zeichnung im allgemeinen nicht erhalten, weil wir nicht dafür gesorgt haben, dass in diesen Fällen die Zeichnung wiederhergestellt wird. In dieser Übung wollen wir diesen Mangel beheben. Unsere Zeichnung besteht aus einer großen Anzahl kurzer Striche, die wir uns in einem Objekt der Klasse java.util.arraylist<strich> merken. Dazu ist es aber notwendig für die Striche eine eigene Klasse zu definieren, z.b. Strich. Ferner müssen wir unsere graphische Benutzeroberfläche etwas erweitern. Insbesondere benötigen wir ein JPanel, auf das wir unsere Zeichnung malen. Folgende Schritte sind nacheinander durchzuführen: (a) In der Klasse Malen bekommt behaelter ein BorderLayout. (b) Definieren Sie ein Datenelement vom Typ JPanel z.b mit Namen menue. Dieses wird instanziiert und mit behaelter.add (menue, BorderLayout.NORTH) oben in behaelter eingefügt. (c) Nun werden alle GUI-Komponenten anstatt in behaelter in menue eingefügt. (d) Schreiben Sie eine Klasse Zeichnung, die von JPanel erbt. Sie hat ein Datenelement vom Typ ArrayList<Strich>, das dann alle Strichobjekte aufnehmen soll. Dies muss instanziiert werden. (e) Schreiben Sie in der Klasse Zeichnung eine Methode loesche, die die ArrayList<Strich> neu instanziiert und dann die Methode repaint () aufruft. (f) Definieren Sie in der Klasse Malen ein Datenelement vom Typ Zeichnung, instanziieren Sie es und fügen Sie es in behaelter an der Stelle BorderLayout.CENTER ein. (g) Rufen Sie in der Methode init (letzte Zeile) die Methode addmousemotionlistener anstatt für behaelter für das Zeichnung-Objekt auf. (h) In der Methode actionperformed wird, wenn der Knopf Löschen gedrückt wurde, für das Zeichnung-Objekt nur die Methode loesche () aufgerufen. (i) In der Methode mousedragged wird das Graphics-Objekt anstatt vom behaelter von dem Zeichnung-Objekt geholt. (j) Schreiben Sie die Klasse Strich. (k) Das Programm sollte jetzt wieder getestet werden.
9 4 KAPITEL 1. DAS BEISPIEL MALEN (l) Schreiben Sie in der Klasse Zeichnung eine Methode addiere, um Objekte vom Typ Strich an die ArrayList zu addieren. (m) In der Methode mousedragged wird ein Strich-Objekt angelegt und mit addiere der Zeichnung hinzugefügt. (n) Für eine JComponente und das ist unsere Klasse Zeichnung wird die Methode paintcomponent (Graphics g) aufgerufen, wenn die Komponente neu dargestellt werden soll. Also müssen wir in Zeichnung die Methode public void paintcomponent (Graphics g) { super.paintcomponent (g); } definieren und so überschreiben, dass der Inhalt des ArrayList-Objekts neu gezeichnet wird. 4. Wahrscheinlich kommt bei Ihnen die Codesequenz g.setcolor (...); g.drawline (...); mindestens zweimal vor. Solche Codewiederholungen sind schwer wartbar und fehleranfällig. Der Code gehört eigentlich in die Klasse Strich. Definieren Sie also in dieser Klasse eine Methode public void zeichne (Graphics g)..., die einen Strich zeichnet. Verwenden Sie diese Methode anstatt der oben erwähnten Codesequenz. 5. Schreiben Sie eine Klasse DoppelStrich, die von der Klasse Strich erbt und die jeden Strich doppelt zeichnet (z.b. um drei Pixel versetzt). Wende diese Klasse an, wobei nur in der Methode mousedragged an einer einzigen Stelle der Klassenname Strich durch DoppelStrich ersetzt werden muss. 6. Bieten Sie für die beiden Stricharten ein Auswahlmenü an. 7. Bieten Sie weitere Strich arten an, d.h. irgendwelche interessante Verbindungen zwischen zwei Punkten (Rechtecke, Kreise usw). Die Methoden der Klasse Graphics können Sie da auf Ideen bringen. 8. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 9. Erstellen Sie ein UML-Klassendiagramm und fügen Sie es in Ihre Dokumentation ein. 10. Kommentieren Sie das Design der Klassen Strich und DoppelStrich.
10 Kapitel 2 Entwurfsmuster Factory Method Wahrscheinlich haben Sie zur Unterscheidung der Stricharten in der Methode mousedragged einen if-else-konstrukt oder ein switch verwendet. Solche Konstrukte sind schwer zu warten. Ferner ist Ihre interessante Verbindung zwischen zwei Punkten vielleicht so, dass es nicht vernünftig ist, sie von Strich erben zu lassen. Wir wollen diese Probleme unter Ausnutzung des Polymorphismus folgendermaßen lösen: Aufgaben: 1. Definieren Sie in einer eigenen Datei eine Schnittstelle, die alle möglichen Verbindungen repräsentiert und folgende Methoden deklariert: public interface Verbindung void zeichne (Graphics g) Verbindung newverbindung (...) String tostring () 2. Lassen Sie Strich und alle anderen Verbindungstypen diese Schnittstelle implementieren. Dabei gibt newverbindung ein neues Strich-Objekt bzw entsprechend andere Objekte zurück. tostring gibt einfach den Klassennamen zurück, also etwa "Strich". 3. Ersetzen Sie in Zeichnung die Klasse Strich durch die Schnittstelle Verbindung. 4. Definieren Sie für jeden Verbindungstyp ein konstantes Objekt. (Eleganter: Legen Sie ein Feld von Verbindungen an, das dann alle konstanten Verbindungs-Objekte enthält.) Diese Objekte addieren Sie anstatt der Strings an die Auswahl-Combobox für die Verbindungstypen. (JComboBox ruft für jedes Item tostring () auf, um es darzustellen.) 5. Falls nicht schon geschehen, definieren Sie ein Datenelement vom Typ Verbindung etwa mit Namen aktuelleverbindung. In itemstatechanged belegen Sie dieses Klassenelement einfach mit e.getitem (), wenn itemstatechanged von der entsprechenden Combobox aufgerufen wird. 5
11 6 KAPITEL 2. ENTWURFSMUSTER FACTORY METHOD 6. Ersetzen Sie in mousedragged den if-else- oder switch-konstrukt durch einen einzigen newverbindung-aufruf für die aktuelle Verbindung. 7. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 8. Erstellen Sie ein UML-Klassendiagramm. 9. Wie korrespondieren Ihre Klassen und deren Methoden zum Entwurfsmuster Factory Method bzw. welche Variante von Factory Method wird hier verwendet? Wie sähe die andere Variante aus?
12 Kapitel 3 Entwurfsmuster Abstract Factory Es gibt Leergut und Vollgut. Das Leergut kann Leergut oder Vollgut umrahmen und passt dabei seine Größe an. Das Vollgut kann in Leergut eingepasst werden. Dabei passt das Vollgut seine Größe an. Das Ganze gibt es für Rechtecke und Ovale, die aber gegenseitig nicht verwendbar sind. Bemerkung: Ein vernünftigeres Beispiel wären Schrauben und Muttern, metrisch und amerikanisch! Allerdings ist das nicht ohne weiteres in die bestehende Software zu integrieren. Aufgaben: 1. Diskutieren Sie, inwiefern Leer- und Vollgut etwas mit dem Entwurfsmuster Abstract Factory zu tun hat. (Was sind die Produkte? Was ist die Produktfamilie? Was benötigt man noch für das Muster?) 2. Erstellen Sie ein UML-Klassendiagramm. 3. Implementieren Sie das Klassendiagramm. 4. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 5. Wie korrespondieren ihre Klassen und deren Methoden zum Entwurfsmuster Abstract Factory? 7
13 8 KAPITEL 3. ENTWURFSMUSTER ABSTRACT FACTORY
14 Kapitel 4 Entwurfsmuster Prototype Beim Entwurfsmuster Factory Method haben wir neue Verbindungen letztlich durch einen Kontruktoraufruf erzeugt. Jetzt wollen wir neue Verbindungen erzeugen, indem wir einen Prototypen (Strich, DoppelStrich usw.) klonen. Für die folgende Übung sollten Sie von dem Code ausgehen, den Sie zum Kapitel Factory Method erstellt haben. Aufgaben: 1. Schnittstelle Verbindung: Die Methode newverbindung (...) wird gestrichen. Stattdessen kommen neu hinzu: public Object clone (); public void aktualisierekoord (int xe, int ye); public void aktualisierefarbe (Color farbe); public Color getfarbe (); Ferner erweitert Verbindung die Schnittstelle Cloneable. 2. Lassen Sie Strich und alle anderen Verbindungstypen diese Schnittstelle implementieren. tostring gibt einfach den Klassennamen zurück, also etwa "Strich". 3. Die Item-Objekte der StrichWahl-JComboBox sind ja Verbindungen. Diese Verbindungen sollten jetzt (falls nicht sowieso schon gemacht) mit einer vernünftigen Anfangsfarbe, also etwa Schwarz angelegt werden. 4. altesx und altesy und aktuellefarbe wollen wir jetzt in den Prototypverbindungen verwalten. Daher können diese herausgestrichen werden. Dazu müssen dann noch einige Anpassungen im Code erfolgen. 5. Ersetzen Sie in mousedragged den newverbindung-aufruf durch einen clone ()-Aufruf. 6. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 9
15 10 KAPITEL 4. ENTWURFSMUSTER PROTOTYPE 7. Erstellen Sie ein UML-Klassendiagramm. 8. Wie korrespondieren Ihre Klassen und deren Methoden zum Entwurfsmuster Prototype?
16 Kapitel 5 Entwurfsmuster Composite Aufbauend auf der Lösung zum Entwurfsmuster Factory Method wollen wir auch Aggregate von Verbindungen genau so wie eine Verbindung verwenden, d.h. wir wollen keinen Unterschied machen zwischen einer Elementarverbindung und einem Aggregat von Verbindungen. Ferner kann ein Aggregat selbst wieder in einem Aggregat enthalten sein. Aufgaben: 1. Erstellen Sie zunächst ein UML-Klassendiagramm ohne Berücksichtigung von GUI-Klassen. 2. Implementieren Sie das Klassendiagramm. 3. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 4. Wie korrespondieren Ihre Klassen und deren Methoden zum Entwurfsmuster Composite? 11
17 12 KAPITEL 5. ENTWURFSMUSTER COMPOSITE
18 Kapitel 6 Entwurfsmuster Bridge Die Darstellung der geometrischen Gebilde erfolgt über die Klasse Graphics. Anstatt von Graphics wollen wir andere grafische Systeme verwenden. Z.B. wollen wir die Grafik in einer Textdatei ausgeben, wobei die Pixel durch den Anfangs-Großbuchstaben ihrer Farbe dargestellt werden. Ferner könnten wir die Grafik als SVG-Grafik ausgeben. 1. Diskutieren Sie, inwiefern die oben genannte Problematik etwas mit dem Entwurfsmuster Bridge zu tun hat. (Was ist die Abstraction-Hierarchie? Was ist die Implementor- Hierarchie?) 2. Erstellen Sie ein UML-Klassendiagramm. 3. Implementieren Sie das Klassendiagramm. 4. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 5. Wie korrespondieren ihre Klassen und deren Methoden zum Entwurfsmuster Bridge? 13
19 14 KAPITEL 6. ENTWURFSMUSTER BRIDGE
20 Kapitel 7 Entwurfsmuster Decorator Im Beispiel zu Abstract Factory wurde ein Grafle zwischen Button pressed und Button released gezeichnet. Damit kann man die grafischen Gebilde größer und sichtbarer zeichnen. Dieses Modell wollen wir hier übernehmen. Dieses Modell hat zunächst folgende Struktur: 15
21 16 KAPITEL 7. ENTWURFSMUSTER DECORATOR Malen aktuellefarbe :Color Prototyp :Grafle[*] aktuellesgrafle :Grafle mousedragged (e :MouseEvent) mousemoved (e :MouseEvent) mousepressed (e :MouseEvent) mousereleased (e :MouseEvent) <<instantiate>> Zeichnung kurve :ArrayList<Grafle> addiere (:Grafle) loesche () paintcomponent (:Graphics) * <<interface>> Grafle zeichne (:Graphics) newgrafle (xa :int, ya :int, xe :int, ye :int, :Color) :Grafle tostring () :String getxa () :int getya () :int getxe () :int getye () :int setxe (:int) setye (:int) GrafleI xa :int ya :int xe :int ye :int farbe :Color Strich DoppelStrich delta :int Rechteck Oval Ein Grafle wird zunächst nur durch Anfangs- und Endpunkt dargestellt.
22 17 Bevor wir es zeichnen, wollen wir aussuchen können, welche Farben und welche Grafle-Arten (Strich, DoppelStrich, Rechteck, Oval usw.) wir addieren. 1. Diskutieren Sie, inwiefern die oben genannte Problematik etwas mit dem Entwurfsmuster Decorator zu tun hat. 2. Erstellen Sie ein UML-Klassendiagramm. 3. Implementieren Sie das Klassendiagramm. Dabei können Sie den bisherigen Code verwenden. 4. Fügen Sie den bisher erstellten Code als Ergebnis in Ihre Dokumentation ein. 5. Wie korrespondieren ihre Klassen und deren Methoden zum Entwurfsmuster Decorator?
23 18 KAPITEL 7. ENTWURFSMUSTER DECORATOR
24 Kapitel 8 Entwurfsmuster Observer Im Kapitel Decorator hatten wir auch eine Lösung gezeigt, bei der ein Grafle blinkt (Blinker). Um das zu realisieren, musste der Blinker-Thread die Methode repaint () von Zeichnung aufrufen. Das verletzt die Flow-Design-Regel, da Zeichnung schon immer die Methode zeichne (...) von Grafle und eben auch Blinker aufruft. <<interface>> Grafle * Zeichnung Strich Blinker Die Verletzung der Flow-Design-Regel hat als Problem zur Folge, dass wir den Fall, dass GrafleI noch keine Zeichnung hat, gesondert behandeln müssen. Die Anwendung des Entwurfsmusters Observer löst dieses Problem. Das derzeitige Klassendiagramm hat folgende Struktur: 19
25 20 KAPITEL 8. ENTWURFSMUSTER OBSERVER Zeichnung addiere (:Grafle) loesche () paintcomponent (:Graphics) Malen aktuellefarbe :Color aktuellesgrafle :Grafle Prototyp :Grafle[*] Dekoration :Dekorator[*] mousedragged (e :MouseEvent) mousemoved (e :MouseEvent) mousepressed (e :MouseEvent) mousereleased (e :MouseEvent) * <<interface>> Grafle zeichne (:Graphics) updatexe (:int) updateye (:int) setzeichnung (:Zeichnung) getzeichnung () :Zeichnung loesche () GrafleI xa :int ya :int xe :int ye :int farbe :Color :Zeichnung updatexe (:int) updateye (:int) loesche () Dekorator :Zeichnung zeichne (:Graphics) updatexe (:int) updateye (:int) newgrafle (:Grafle, xa :int, ya :int, xe :int, ye :int) :Grafle tostring () :String setzeichnung (:Zeichnung) loesche () Farbe Farbe :Color zeichne (:Graphics) Strich xa :int ya :int xe :int ye :int zeichne (:Graphics) updatexe (:int) updateye (:int) DoppelStrich delta :int Rechteck Oval Blinker Stopped :boolean Toggle :boolean :Thread loesche ()
26 21 1. Diskutieren Sie, wie die oben genannte Problematik mit dem Observer-Pattern gelöst wird. 2. Erstellen Sie ein UML-Klassendiagramm. 3. Implementieren Sie das Klassendiagramm. Verwenden Sie dabei den zur Verfügung gestellten Code in ~kfg/swe/blinker.zip. 4. Fügen Sie das Klassendiagramm und den erstellten Code als Ergebnis in Ihre Dokumentation ein.
Ereignisverwaltung und Layout-Typen
Ereignisverwaltung und Layout-Typen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Ereignisverwaltung
MehrInstitut 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
MehrEAD 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,
MehrNTB 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
MehrEinfü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.
MehrWas passiert, wenn Button "Ok?" mit Maus angeklickt?
Ein Beispiel-Frame Was passiert, wenn Button "Ok?" mit Maus angeklickt? gar nichts!!! FH AACHEN UNIVERSITY OF APPLIED SCIENCES OOS Prof. Dr. H. Faßbender Ereignisverarbeitung 27. April 2016 1 Implementierung
MehrKonzepte objektorientierter Programmierung
Konzepte objektorientierter Programmierung Objekte Klassen Nachrichten Kapselung Einführung Vererbung heute! Konzepte objektorientierter Programmierung Was ist ein Objekt? Was ist eine Klasse? Was sind
MehrJava 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
MehrObjektorientierte 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
MehrLö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
MehrEinstieg 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
MehrEinfü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
MehrGraphical 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
Mehr11. 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
MehrEventhandling. 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
MehrGUI 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
MehrIst 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
MehrZiel 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
MehrKapitel 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.
MehrGUI-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
MehrZentrale 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
MehrGrafische 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,
Mehr16 Zeichnen in Swing-Komponenten , Prof. Dr. D. Ratz
16 Zeichnen in Swing-Komponenten 2009 2014, Prof. Dr. D. Ratz 16.1 Grafische Darstellung von Komponenten Der Repaint-Manager sorgt für die grafische Darstellung der Komponenten Aktivierung beim erstmaligen
MehrBenutzeroberflächen. Abstract Windowing Toolkit, Rahmen, Wächter, Ereignisbehandlung, Ausgabe, Menüs.
Benutzeroberflächen Abstract Windowing Toolkit, Rahmen, Wächter, Ereignisbehandlung, graphische Ausgabe, Menüs. Der Abstract Windowing Toolkit (awt) Jedes moderne Betriebssystem stellt bereit Fenster Menüs
MehrInstitut 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
MehrProf. 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
MehrIntensivkurs Java. Prof. Dr. Karl Friedrich Gebhardt
Intensivkurs Java Prof. Dr. Karl Friedrich Gebhardt c 1996 2015 Karl Friedrich Gebhardt Auflage vom 31. August 2015 Prof. Dr. K. F. Gebhardt Duale Hochschule Baden-Württemberg Stuttgart Angewandte Informatik
MehrNeben 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
MehrFunktionale 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
MehrSwing :Komponenten I (Teil 2)
l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde
MehrProgrammieren 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.
MehrProgrammieren 2 Selbststudium Semesterwoche 4
Programmieren 2 Selbststudium Semesterwoche 4 Kapitel 11.1, 11.2 und 11.3 1. Das Konzept "Interface" ist wichtig und ist uns schon mehrfach begegnet. In welchen Zusammenhängen hatten wir es schon mit "Interfaces"
MehrEingabe von Texten. Vorlesung Software-Entwicklung / Folie 101
Eingabe von Texten SWE-101 Komponente TextField: einzeiliger, edierbarer Text Ereignisse: ActionEvent (wie bei Button) ausgelöst bei der Eingabe von Return einige Methoden (aus der Oberklasse TextComponent):
MehrKapitel 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
MehrProgrammieren 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,
MehrProgrammieren 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
MehrProgrammieren 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
MehrGUI 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
MehrUniversität Paderborn Prof. Dr. Stefan Böttcher. Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek
Abschluss von Kapitel 2: Programmierung Grafischer Oberflächen mit der Swing-Bibliothek 1 Ereignis-orientierte Programmierung Prinzipien Programm besteht aus einer Reihe von Dämonen (=Listener) Dämon (=Listener)
MehrGrafische 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
MehrAbstrakte Klassen, Interfaces
Abstrakte Klassen, Interfaces INE2, Mittwoch 8.00-9.35 / TE561 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Problemstellung Klassenhierachie - verschiedene geometrische
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Exkurs: Graphische Benutzeroberflächen FH Braunschweig/Wolfenbüttel Sommersemester 2009 1 / 22 Gliederung I Wiederholung Klassen, Objektorientierung (Kapitel 10,11) Exkurs:
MehrUniversitä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
MehrProgrammieren II. Zeichnen in Swing-Komponenten. Heusch 18 Ratz Institut für Angewandte Informatik
Programmieren II Zeichnen in Swing-Komponenten Heusch 18 Ratz 16.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Zeichnen in Swing-Komponenten (1) Eine Swing-Komponente kann nicht
MehrHeute. 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
Mehrimport 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
MehrAK-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
MehrJ.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
MehrGraphische 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
MehrGrafik-Programmierung
Grafik-Programmierung In dieser Übung beschäftigen wir uns zunächst mit elementaren Grundlagen der Grafikprogrammierung. In der nächsten Übung werden wir dies auf Spiele anwenden. Aufgabe 1: Einfache Grafik:
MehrProjektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik
Berner Fachhochschule Hochschule für Technik und Informatik, HTI Fachbereich Elektro- und Informatik Labor für technische Informatik Projektarbeit Java 4-Gewinnt 2004, Labor für Technische Informatik Dateiname:
MehrSoftwaretechnik (Medieninformatik): GUIs mit Swing Überblick
Softwaretechnik (Medieninformatik): GUIs mit Swing Überblick 1 Einführung 2 Einfache Swing Komponenten 3 Ereignisbehandlung und Adapterklassen 4 Layout Manager 5 Komplexere Swing Komponenten Prof. Dr.
MehrProbeklausur 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
MehrJava. Prof. Dr. Stefan Enderle NTA Isny
Java Prof. Dr. Stefan Enderle NTA Isny 7. Oberflächenprogrammierung JFrame Die Klasse JFrame bietet eine Basis für Programme mit graphischer Benutzeroberfläche. Das folgende Programm legt ein Objekt der
MehrGUIs in Java und ihre Programmierung
GUIs in Java und ihre Programmierung Einführung GUI = Graphical User Interface graphische Benutzerschnittstelle Java Tutorial java.sun.com/docs/books/tutorial/index.html Java Documentation (in Version
MehrTeil 1: Grundeigenschaften von Rechnern und Software
Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [3P] Nennen Sie mindestens 3 Arten von Programmen zur Softwareentwicklung Editor, Compiler, Linker, Debugger, Interpreter,...
MehrHauptklausur: PRGII MD
Hauptklausur: PRGII MD Aufgabe 1 (18 Punkte) Betrachten Sie folgenden binären Suchbaum. a) Geben Sie die Knoten des Baumes in postorder aus. anne, helmut, harald, bert, arno, manuel, uwe, thorsten, sebastian,
Mehr8.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
MehrProgrammieren in Java
Einführung in die Objektorientierung Teil 4 Interfaces, innere Klassen und Polymorphie 2 Vererbung im Klassendiagram (Wiederholung) Vererbung repräsentiert eine ist ein Beziehung zwischen Klassen Ware
MehrListe 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
MehrGrundlagen der Informatik für Ingenieure I
10. Eventhandling in Java 10.1 Eventhandling 10.2 Listener 10.3 Adapter 10.7 Listener (Übersicht).1 10.1 Eventhandling 10.1 Eventhandling Eventhandling in Java ist Teil des AWT-package. Es dient der Kommunikation
MehrAnweisungen zur Ablaufsteuerung
Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden
MehrSwing 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
MehrDr. Monika Meiler. Inhalt
Inhalt 12 Grafische Benutzerschnittstellen... 12-2 12.1 Komponenten... 12-2 12.1.1 AWT und Swing... 12-2 12.1.2 Beispiel Hallo Welt!... 12-3 12.2 Ereignisverarbeitung... 12-6 12.3 Grafik... 12-10 12.3.1
MehrSommersemester 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
MehrObjektorientierte 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
MehrGrafische 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"
MehrEreignisbehandlung 21
Ereignisbehandlung 21 3 Ereignisbehandlung Dieses Kapitel beschäftigt sich mit der Ereignisbehandlung, d.h. der Reaktion eines Programms auf Eingaben durch benutzende Personen. Nach einigen ersten Beispielen
MehrDer 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.
MehrHochschule der Medien Prof. Uwe Schulz 14. Juli 2010 Klausur Informatik, EDV-Nr. 40301 Seite 1 von 5. Teil 2: Aufgaben
Hochschule der Medien Prof Uwe Schulz 14 Juli 2010 Klausur Informatik, EDV-Nr 40301 Seite 1 von 5 Name: Matr Nr: Teil 2: Aufgaben Hilfsmittel: alle außer tragbare Computer und Nachbar Bearbeitungszeit:
MehrDesign 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
MehrObjektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java
9 Übungen: Applets Objektorientierte Programmierung OOP Objektorientierte Programmierung (OOP) mit Java 1. Java-Applet mit Text 2. Java-Applet mit Bild und Text 3. Java-Applet mit Grafik 9 Applets 4. Java-Applet
MehrPlotten von Kreisen ( nach Jack Bresenham ) (C) Ac bis
Plotten von Kreisen ( nach Jack Bresenham ) (C) Ac 3-1990 bis 2-2017 Wie zeichnet der Computer Kreise? Natürlich mithilfe von Pixels, picture elements, also kleinen Bildpunkten. Die beste Approximation
Mehr2. Vererbung und Kapselung
2. Vererbung und Kapselung Die Objekte der Klasse BALL werden im Gegensatz zu den Objekten von KREIS noch nicht graphisch dargestellt. Um die BALL-Objekte auch graphisch darzustellen zu können, muss BALL
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,
MehrAbstrakte Klassen und Schnittstellen. Abstrakte Klassen und Schnittstellen. Abstrakte Klassen und Schnittstellen. Vererbung von abstrakten Methoden
und und Definieren Typen (nicht instanziierbare ) Können Methoden- und Attributdefinitionen enthalten Methoden können abstrakt definiert werden (Methoden ohne Rumpf) und abstrakte werden vererbt(einfache
MehrVererbung. Generalisierung und Spezialisierung Vererbung und Polymorphismus
Vererbung Generalisierung und Spezialisierung Vererbung und Polymorphismus Wir wollen in unserem Aquarium verschiedene Arten von Fischen schwimmen lassen. In einem ersten Ansatz definieren wir nicht nur
MehrEinfü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
MehrJava Projekt: Tic Tac Toe + GUI
Java Projekt: Tic Tac Toe + GUI Rechnerpraktikum aus Programmierung im WS 2005/06 unter der Leitung von Dr. Michael Hahsler Tadeh Amirian (h0253821) 10.01.2006 1) Problemdefinition Beim TicTacToe Spiel
MehrGraphische 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
Mehr1 Klassen und Objekte
1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente
MehrInstrumentierung 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
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Kapitel X Zeichnen mit Java2D SWT I Sommersemester 2009 Prof. Walter F. Tichy David Meder Literatur Informationen zu Java2D finden Sie in
MehrJavakurs 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
MehrEin Manager mit CardLayout layout/cards.java
201 Copyright 1996-1998 by Axel T. Schreiner. All Rights Reserved. Ein Manager mit CardLayout layout/cards.java CardLayout dient vor allem zum Aufbau von Inspektoren: In der gleichen Fläche soll je nach
MehrTeil 1: Grundeigenschaften von Rechnern und Software
Blatt Nummer: 1 Teil 1: Grundeigenschaften von Rechnern und Software Aufgabe 1.1 [2P] Welcher fundamentale Unterschied besteht zwischen dem Zweck eines Computer von dem Zweck anderer Maschinen (etwa einer
MehrEreignisse (Events) in Java
Ereignisse (Events) in Java werden durch Aktionen an GUI-Komponenten ausgelöst Quelle: GUI-Komponente, die ein Ereignis als Instanz einer Event-Klasse erzeugt Beispiel: ein Button, der angeklickt wird
Mehr/** 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,
Mehr5 Das Projekt Apfelwein
Kapitel 5 Zustandsorientierte Modellierung (Teil 1) Seite 1 5 Das Projekt Apfelwein Bemerkung: In der 10. Jahrgangsstufe (G8) werden die Schüler in die zustandsorientierte Programmierung eingeführt. Dies
MehrProgrammieren 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
MehrMedientechnik. Ü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.
MehrDHBW 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;
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Graphische Benutzerschnittstellen I GUI erzeugen Seite 1 GUI GUI: Graphical User Interface Graphische Benutzeroberfläche Seite 2
MehrSoftware Engineering Entwurfsmuster (update: 11.6.)
Software Engineering Entwurfsmuster (update: 11.6.) Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Entwurfsmuster Entwurfsmuster (Design Patterns) geben bewährte
MehrProgrammierkurs C++ Abstrakte Klassen und Methoden
Programmierkurs C++ Abstrakte Klassen und Methoden Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Vererbungshierarchie Obst double
MehrRückblick. Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen?
Rückblick Geltungsbereich von lokalen Variablen? Wo leben lokale Variablen? Geltungsbereich von Instanzvariablen? Wo leben Instanzvariablen? Was sind statische Methoden? Was sind statische Variablen? Was
MehrSchlussendlich geben wir die Listen aus. Es kommt zu folgender Ausgabe:
Musterlösung Übung 7 Aufgabe 1 Sehen wir uns zu allererst das gegebene Forth Programm an: 0 3 new - list constant list1 list1 5 new - list constant list2 list1 6 new - list constant list3 list2 2 new -
Mehr...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
MehrKapitel X - Zeichnen mit Java2D
Kapitel X - Zeichnen mit Java2D SWT I Sommersemester 2010 Walter F. Tichy, Andreas Höfer, Korbinian Molitorisz IPD Tichy, Fakultät für Informatik KIT die Kooperation von Forschungszentrum Karlsruhe GmbH
Mehr