Graphische Oberflächen Teil 3

Größe: px
Ab Seite anzeigen:

Download "Graphische Oberflächen Teil 3"

Transkript

1 Graphische Oberflächen Teil 3 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI-Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

2 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 2

3 Observer 1 : n Beziehung Ein Zustand wird auf beliebig viele Beobachter verteilt Lose Kopplung der Komponenten Hinzufügen/Entfernen von Beobachtern zur Laufzeit java.util.observable java.util.observer Subjekt (Observable) Beobachter (Observer) benachrichtigt liest Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 3

4 Strategy Austauschen von Verhalten zur Laufzeit Kapseln von Algorithmen!"# $!"#% has-a $!"# $%!"# $&!"#$% #!"#!"# $& $!"# &$% # & $!"#$% (!"#!"# $& & $& && Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 4

5 MVC Entkoppelung von Model, View und Controller Kombiniertes Muster Stammt aus Smalltalk Controller verändert View Flexibilität Wiederverwendbarkeit verändert Model liest benachrichtigt Model Daten, die das Programm verwaltet View Sorgt dafür, dass alle Views nachgeführt werden Darstellung der Daten Zu jeder View gehört ein Controller Controller Interpretation von Tastatureingaben und Mausklicks Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 5

6 MVC in Swing Keine Trennung von View und Controller Model bietet Eine abstrakte Schnittstelle für Datenzugriffe Verwendet Ereignismechanismus View Controller verändert liest benachrichtigt über Events Model Daten Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 6

7 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 7

8 Für vordefinierte, sortierte Menge von Werten Eingabe Textuell Auf- oder absteigendes Durchlaufen der Werte implementiert View und Controller ) stellt eine abstrakte Definition für das Modell bereit Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 8

9 Klassendiagramm Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 9

10 Interface ) Lesen und Schreiben des aktuellen Werts Zugriff auf Nachfolger und Vorgänger Quelle von /",0# $ ) *+&,-% # -*+ #% *+&,. -% *+&,(#-% # /",/", % # #/",/", % $ /", 0# # /",/",0# % & /",0# 0#*+ &/",0#*+ & % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 10

11 Beispiel Verwendung # $,12&3456&& 7),78&&74,78&7)9"78&74,78 7,78&7,78&&7,7 % 8&:8&;8&<%& & ==4$>& &&9 9 % ==&$? -$" #&A&, <B&& :C8& B& :&& )B8&<B8&:C8&A% ==&$? 4=D" ;&& )% ==&$? 3", <&& )3456% ==5$ 5$?, /", &< <,)/",9 9 /",& # /",/",0# & 7 7& <,),-%& % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 11

12 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 12

13 ist eine Komponente für die einfache Eingabe von kurzem Text Hat Model vom Typ 4 Folgende Methoden stehen zur Verfügung Konstruktoren mit Angabe der Breite und eines initialen Texts &, &, 8& & Zugriff auf String-Wert,&, & #, &,&, $$8& & Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 13

14 (Fortsetzung) Zugriff und Kontrolle der aktuellen Selektion,&, &,&,0& # & # 0 0& Zugriff auf und Kontrolle des Caret,/(& # /( & # #/( & Regristrieren von 5- und / # 55 & # #55 & # // # #// & Hinweis: Bei Enter wird 5-Ereignis gefeuert!! Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 14

15 Klassendiagramm Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 15

16 Interface +# 9, 4 $ 4,,"% # 44 % # #44 % # D0D0 % # #D0D0 % *+,(*+ E% # (*+ E8&*+ #% # # $$8& &"9!0 % #, $$8&,&8&5 & "9!0 %,&, $$8&,"&"9 "9!0 % #, $$8&,"8&,& &"9 "9!0 % (&,(% (&,0(% (&( $$&"9!0 % 012&,F0% 0&,4$F0% # F % $,&4( &77% $,&( &77% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 16

17 Beispiel H& H&Ausgabe der Editieroperationen % $% & 7 7% /&&&,/(% 9 9% $&&9 :G% $% $59 9 5& # ($50# & 7. 0,H&7&&$, % % $, & # D40# & 70,$,H&7& $,4,,*$$8&,,"% &"!0 & & E%&& # #D40# & 7@" #&7&&,*$$&&78&7&&,,"&&7&I"7% # ",D40# & & % E% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 17

18 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 18

19 erlaubt die formatierte Eingabe von beliebigen Werten Formatter wird verwendet, um zwischen String-Repräsentation und Objektwert zu konvertieren Verifikation, dass korrekte Zeichenkette eingegeben wurde Unterschiedliche Reaktionen bei ungültigen Eingaben Filtern von ungültigen Eingaben Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 19

20 Erzeugen von Beim Anlegen eines muss Formatter definiert werden Erzeugen mit Format-Objekten: Formatter wird auf Basis des Format-Objekts erstellt &9.,J,J% &9.,/J% &9 4,4J% &9 4,4J4K*F% (siehe dazu. und 4) Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 20

21 Erzeugen von (Forts.) Mit 4$ L,- arbeitet mit Objekt-Konstruktor mit String-Parameter L #, ruft, auf 4$ $&&9 4$% &9 $% -9 DF7"H==+#7% Mit )E und Definition einer EingabeMaske )E $ &9 )E7MMM>MM>MMMM7% $("/"NGN% &9 $% -7GAO>GP>:G7% Wobei in der Maske die folgenden Zeichen verwendet werden # eine Ziffer? ein Buchstabe U ein Buchstabe, konvertiert in einen Großbuchstaben L ein Buchstabe, konvertiert in einen Kleinbuchstaben A ein Buchstabe oder eine Ziffer H eine Hexadezimalziffer [0-9A-Fa-f] * beliebiges Zeichen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 21

22 Schreiben eines eigenen Formatters Ableiten von 4$ Überschreiben der Methoden #, und,- Beispiel: Formatter für IP-Adressen J(5 4$,&#,*+ # "9 (0 $ Q# $ 12 "9 9 (0 7R 1278&G% 12&&& 12#% $," Q&< "9 9 (0 7S, Q&<78&G%,!$$ $$ &9,!$$% $ &&G%&&T&<%& &&12% $ &T&G&&&:PC% $$,#*$% $ &T&;&$$NN% $$,% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 22

23 Schreiben eines eigenen Formatters (Forts.) *+,-, &"9 "9 (0,E E &9,E 8&77% 12&&&9 1<2% $ &&G%&&T&<%& &&G% &&J,JE E% ".0 "9 9 (0 $ &T&G&UU&&V&:PC "9 9 (0 7! W"&&!"78&G% 12&& % % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 23

24 Verifikation Bei Abgabe des Fokus wird geprüft, ob die aktuelle Zeichenkette gültig ist kann der Formatter die Zeichenkette in ein Objekt umwandeln dann gültig, sonst ungültig Mit Methode 0- kann man das auch explizit prüfen Bei ungültiger Eingabe gibt sich ein entsprechendes Verhalten, das man mit void setfocuslostbehavior(int behavior) einstellen kann Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 24

25 Verhalten bei Abgabe des Focus COMMIT_OR_REVERT (Standardverhalten) Wenn gültig, den Wert übernehmen (Methode 0), Wenn ungültig, den letzten Wert ins Ausgabefeld zurückschreiben COMMIT Wenn gültig wie oben Wenn ungültig, den letzten Wert und den Inhalt des Ausgabefeldes behalten PERSIST Obwohl gültig, den Wert nicht übernehmen, sondern erst bei expliziten Aufruf von 0, - oder übernehmen REVERT Den Wert nicht übernehmen und auch das Ausgabefeld mit dem alten Wert überschreiben Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 25

26 Weiteres Neben Formatter kann für folgendes definiert werden L 4: - Erlauben die Filterung von Eingabezeichen L J-$: - Explizite Kodierung der Gültigkeitsprüfung in eigenen Klasse Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 26

27 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 27

28 erlaubt die bequeme Ausgabe von Listen von beliebigen Objekten unterstützt Listen von beliebigen Objekten Lange Listen Listen die sich dynamisch aufbauen (nicht explizit vorhanden sein müssen) Selektion von einzelnen und mehreren Elementen Ausgabe der Elemente in unterschiedlicher Art arbeitet mit ) arbeitet mit Renderern für die Ausgabe Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 28

29 JList Klassendiagramm Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 29

30 Interface ) Zugriff auf die Elemente Bestimmung der aktuellen Anzahl Registrieren von 4/",n $ ),% *+,05 % # 44 % # #44 % $ 4 0# # #540# % # #F#40# % # /",40# % 40# 0#*+,& & %&,J G& & G%&,J & & %& Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 30

31 Konstruktion von -Komponenten Konstruktion von möglich mit Object-Array # $,12&3456&& 7),78&&74,78 7)9"78&74,78&7,78&7,78&7,7% & /& &,/(% &&9 3456% ( ( &9 (% % Vector # -&#&&9 -%& & #X,X%&#X"X%&#X,X%& :&&9 #% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 31

32 Konstruktion von -Komponenten (Forts.) ListModel (Beispiel Generieren von Integers) & &&9 9 J)GG% J) 5) J) & " &%&,& % *+,05 & 9 J,%& # %& Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 32

33 Klasse 4$) Arbeitet wie - Plus ) Interface Siehe Beispiel (3" (4ownload von LVA-Homepage) Statt (-Datenmodell4$) Statt (/",0#s 40#s Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 33

34 Selektion Elemente in kann man selektieren und Selektion abfragen wirft 0# $ 0# # #/",0# % 0# 0#*+ 0#*+ 8& $J 8& J 8& 5+,& &Z,J & &Z,J & &Z,-J5+,& &Z Es gibt unterschiedliche Selektionsmodi, die man über die JList-Methode # ) setzen kann; mögliche Modi sind (Konstante des Interfaces )) L J.@0Y00/J*. L J.@0YJ.0F-5Y00/J*. L )DJ(0YJ.0F-5Y00/J*. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 34

35 Renderer für Listenelemente Man hat die Möglichkeit die Ausgabe der Elemente zu bestimmen Interface /F definiert Methode /,/F welche für eine Liste und einen Wert an einer Position und Information, ob Zelle selektiert und Komponente den Fokus hat, eine / zum Rendern liefert $ /F /,/F/ 8 *+ #8 8 8 K% Methode # /F/F Achtung: /F rendert selbst nicht, sondern liefert eine /!! erlaubt die Installation eines besonderen /Fs. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 35

36 Beispiel /F Dieser Renderer rendert-objekte, indem der Name des Fonts im entsprechenden Font ausgegeben wird /F /F /F& * %&&&&==&&&"&$&E,&&"9& /,/F/ 8&*+ #8& 8& 8 K& $ &,,,%!E,,!E,% &,,,%!E,,!E,% &$ &&#% $% $,% "% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 36

37 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 37

38 erlaubt die Ausgabe und die Barbeitung von Tabellen Modell und Art der Bearbeitung ist analog zu L ) L, 0# und ) L /F zusätzlich können Zellen in Tabellen editierbar sein; dazu wird ein L /0 herangezogen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 38

39 Aufbau Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 39

40 Klassendiagramm JTable Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 40

41 Interface ) Anzahl der Zeilen und Spalten Name und Typ für die Spalte Prüfen, ob Zelle editierbar Lesen und Schreiben der Zellen Registrieren von ) $ ),F9/%,//%,&,/. J % /,// J % /0 9J 8& J % *+,-5 9J 8& J % # -5*+ -8& 9J 8& J % # )) % # #)) % $ ) )0# +#0# +#0#*+ # /",,F9& &Z % )0# %,F9& &Z %,/& &Z %&,& &Z Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 41

42 Erzeugen von -Komponenten Konstruktion von möglich mit 2-dimensionalen Object-Array + Spaltennamen (& &9 8&.% Z # *+1212& & &7)E78&9 4:<<G8&9 J,G8&!508&/9 8& 7-78&9 9 4CGP:8&9 J,G8&!508&/9 8& 7078&9 4C;AO8&9 J,8&!508&/ 8& 7)78&9 4;;BA8&9 J,:8&!508&/ 8& 778&9 4A<B:8&9 J,C8&!FD08&/, 8& 778&9 9 4CG:CO8&9 J,O8&!FD08&/, 8& 7D78&9 9 4:PPPB8&9 J,A8&!FD08&/ 8& 7.78&9 9 4:<ACC8&9 J,O8&!FD08&/ 8& 7(78&9 4;A8&9 J,8&!508&/E % #,12&. & &7(78&7F78&7)78&7@$[,78&77&% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 42

43 Erzeugen mit ): Bsp. J# Implementierung von ) stellt Datenzugriff bereit und liefert die Informationen ) &9 J#);G8&P8&G% &9 %,/(9 9 (8&7/7% J#) 5) J#) 8& 8& :& &Z,F9/& %,//& &Z *+,-5 8& & &&&&F&=&GGG% &% $! &J.JJ5Y!55./0&\&)"9&&8&%.,/J$$!%,&,/. & &&&&F&=&GGG%.,(J$%!",&&R& $?&+&"&& ""&I!! # % # F% # F% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 43

44 ) als Datenkapsel Oft soll ein ) als eine Zugriffschicht auf das eigentliche Datenmodell verwendet werden Z.B. Zugriff auf Datenbank ) hält daher keine Daten ) 4!) 4) 4!/&5&&4! siehe dazu Beispiel #:"CF+# Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 44

45 /F /F werden für die Darstellung der Zellen verwendet $ /F /,/F/ 8&*+ #8 8& "8& 98& % Beispiel //F: /-Werte werden mit ( mit entsprechenden Hintergrund dargestellt //F /F /,/F/ 8 *+ #8& 8& "8 98& &!E,/#% % # ( &9 (% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 45

46 Installation eines /F Man kann /F auf 2 Arten installieren Variante 1: /F für alle Werte einer bestimten Klasse Festlegen einer Klasse für eine Spalte im ) () 5) /,// & 1G212,/% und Bestimmen eines Renderers für die Klasse im 4$F/ 8&9 //F% Variante 2: /F für eine / Zugriff auf das /-Objekt mittels,/ von Setzen des Renderers bei dem /-Objekt / &,/.%& /F9 9 //F% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 46

47 /0 Damit eine Zelle editierbar ist, muss im TableModel die Methode 0 true sein () 5) /0 8& & &&.5)0Y/*D).&UU&&&)**.Y/*D). UU&&&@50*DY/*D).&UU&&&/**FY/*D).% Mittels /0 kann man die Zellen editieren Liefert Komponente zum Editieren Stellt Interface für Interaktion bereit (/0) $ /0 /0 /,/0/ 8&*+ #8 8& 98& % $ /0 *+,/0-% /00#*+ 0#% "/0#*+ 0#% /0,% # /0,% # /0/0 % # #/0/0 % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 47

48 4$/0 Mit 4$/0 kann man aus, /"E! und /! ein /0 konstruieren Beispiel: Im folgenden Beispiel wird ein Editor für Anzahl der Monde eines Planeten realisiert (siehe Beispiel Planetentabelle) Erzeugen einer /! mit Items 0 bis 20 Erzeugen eines 4$/0 mit /! Installation als /0 für die Spalte /! / &9 /! % $ &&G%&&T&:G%& /J9 9 J,% /) ) &,/)% / / &),/())**.Y/*D).% //09 9 4$/0/% Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 48

49 Eigener / /0 /08&5 # /!! % 4490&! &9 /! %! 5" "% # ($50# #& $0,%&&&&==&E *+,/0-& 9 J,!,J % /,/0/ 8&*+ #8& 8 98& &! J J,&#-%! % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 49

50 Beispiel Planetentabelle Siehe Programmcode #:"C/F+# aus CoreJava 2 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 50

51 GUI-Komponenten Überblick über weitere Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 51

52 Treeview mit expandierbarem Baum (wie Windows Explorer) Im Aufbau und Funktionsweise analog zu verwendet Ereignisse: L 0# L 0 0# Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 52

53 Interface ) ) definiert Zugriff auf Knoten im Baum Änderung bei Pfaden Registerierung von ) $ ) *+,F% *+,/"*+ 8& %,/"/*+ % $*+ % # #("/",(" "8&*+ 9-%,J *$/"*+ 8&*+ "% # )) % # #)) % Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 53

54 GUI-Komponenten ]E& E&?&9 &9 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 54

55 Container Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 55

56 Special-Purpose Containers Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 56

57 Basic Controls Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 57

58 Uneditable Information Displays Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 58

59 Interactive Displays of Highly Formatted Information Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 59

60 Vorgefertigte Dialogfenster Meldungsfenster *("9),4, 8&&&&==&$&&9""&,&&,8&&&&&&&&==&"&,&& % Eingabefenster,&&&*("9J4, 8&,8&8&,% ==&&"&& &&&$&"&&"&&" Bestätigungsdialog &&*("9/$4, 8&,8&8&8&,% ==&&60Y*(J*.8&.*Y*(J*.8&/5./0Y*(J*.8&*RY*(J*.&&/*04Y*(J*. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 60

61 Accessibility Unterstützung von Benutzerhilfen z.b. Bildschirmlupe, Vorlesen des Bildschirminhalts Paket +# Komponenten implementieren 5 Zugriff auf 5/ 5/ Repräsentiert Mindestinformation über Komponente z.b. Name, Beschreibung, Rolle, Zustand, unterstützte Aktionen, graphische Repräsentation, Text, Wert, Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 61

62 Zusammenfassung Anwendungen Hauptfenster und Dialogfenster Pluggable Look and Feel unter Swing Applets Kleine Programme innerhalb von Webseiten Eingeschränkte Berechtigungen Layout-Manager Kontrollieren Position und Größe der Komponenten Ereignisse Klick auf Schaltfläche, Texteingabe, Auswahl eines Listenelements, Ereignisbehandler werden bei Komponente registriert Menus und Actions GUI-Elemente MVC Muster Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 62

63 Literatur The JavaTM Tutor, Creating a GUI with JFC/Swing (The Swing Tutorial), Horstmann, Cornell, Core Java 2, Band 1 - Grundlagen, Markt und Technik, 2002: Kapitel 9, 11 Horstmann, Cornell, Core Java 2, Band 2 - Expertenwissen, Markt und Technik, 2002: Kapitel 6 Krüger, Handbuch der Java-Programmierung, 3. Auflage, Addison-Wesley, 2003, Kapitel 37, 38 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 63

64 Programmbeispiele Beispiel zu mit unterschiedlichen SelectionModes und eigenen Renderer Download von Homepage Beispiel J#: Erzeugung eines ): Core Java 2, Band2: #:"CJ#+# Beispiel F: ) mit Datenbankanschluss: Core Java 2, Band2: #:"CF+# Beispiel (: mit Editor und Renderer: Core Java 2, Band2: #:"C/F+# Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 64

Graphische Oberflächen Teil 3

Graphische Oberflächen Teil 3 Graphische Oberflächen Teil 3 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI-Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

Mehr

Graphische Oberflächen Teil 1

Graphische Oberflächen Teil 1 Graphische Oberflächen Teil 1 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

Mehr

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Model-View-Controller. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model-View-Controller Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Model View Controller (MVC) Architekturmuster für die Gestaltung von interaktiven Oberflächen 3 Komponenten Model: Datenmodell

Mehr

JTable. W. Lang HWR Berlin, SS

JTable. W. Lang HWR Berlin, SS JTable W. Lang HWR Berlin, SS 2014 1 JTable Die Swing-Komponente JTable dient der Darstellung einer zweidimensionalen Tabelle Verwendung häufig im Zusammenhang mit Datenbankanwendungen Im Gegensatz zu

Mehr

Model-View-Controller

Model-View-Controller Software Design Pattern Model-View-Controller Michael Lühr Gliederung Einführung und Problemstellung Ansatz durch MVC Detaillierte Darstellung der Komponenten Model View Controller Vor- und Nachteile Zusammenfassung

Mehr

Graphische Oberflächen Teil 1

Graphische Oberflächen Teil 1 Graphische Oberflächen Teil 1 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

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

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05.

Creational Patterns. Seminar Software-Entwurf. Thomas Liro WS 2004/05. Creational Patterns Seminar Software-Entwurf WS 2004/05 Thomas Liro Inhaltsüberblick Einordnung des Themas Beschreibung von Design Pattern Auswahl von Design Patterns Was sind Creational

Mehr

Praktikum Softwareentwicklung 2

Praktikum Softwareentwicklung 2 Praktikum Softwareentwicklung 2 SS 2005 Dipl.-Ing. Thomas Kotzmann Dipl.-Ing. Markus Löberbauer Dipl.-Ing. Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Pratikum SWE

Mehr

MVC Ein wichtiges Konzept der Software-Architektur

MVC Ein wichtiges Konzept der Software-Architektur MVC Ein wichtiges Konzept der Software-Architektur Dr. Arthur Zimek Ludwig-Maximilians-Universität München, Institut für Informatik, LFE Datenbanksysteme Softwareentwicklungspraktikum Wintersemester 2011/12

Mehr

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 1 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten Stacks Queues Priority

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

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

MVC-Konzept. Vorteile. Beispiel für ein MVC-Programm

MVC-Konzept. Vorteile. Beispiel für ein MVC-Programm MVC-Konzept MVC steht für Model-View-Controller. Es gibt eine Möglichkeit an, wie man ein größeres Programm aufbauen kann. Dazu wird das Programm in die drei Bereiche aufgeteilt: Model Zum Model gehören

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 11 15.01.2014 Inhalt Korrektur Blatt 10 JList mit ListModel bzw. DefaultListModel ActionListener und InputDialoge UML Praktische Anwendung Observer-Pattern

Mehr

Graphische Oberflächen Teil 2

Graphische Oberflächen Teil 2 Graphische Oberflächen Teil 2 AWT und Swing Grundlegender Aufbau von GUIs Graphikausgabe Layoutmanagement Ereignismodell Menus und Actions GUI Elemente Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist Herstellerabhängig

Mehr

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

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans Graphische Benutzungsoberflächen mit Java Einführung in NetBeans Graphische Benutzungsoberflächen! Interaktion mit dem Programm! Datenein- und ausgabe! Rückmeldungen über Verarbeitung der Daten! Visualisierung

Mehr

Remote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Remote-Objekte. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Remote-Objekte Motivation Architektur Client und Server-Implementierung Parameterübergabe Distributed Garbage Collection Verteilung und Nachladen von Code Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H.

Mehr

Java Database Connectivity-API (JDBC)

Java Database Connectivity-API (JDBC) Java Database Connectivity-API (JDBC) Motivation Design Grundlagen Typen Metadaten Transaktionen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Motivation Problem: Zugriff auf ein DBMS ist herstellerabhängig

Mehr

Model-View-Controller

Model-View-Controller Model-View-Controller Seminar Software-Entwurf Leif Singer Gliederung Einordnung Überblick & Geschichte Aufgabenverteilung & Beispiel Model View Controller Zusammenspiel Web Anwendungen

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

Inhaltsverzeichnis. 4.9 Aufgaben... 63

Inhaltsverzeichnis. 4.9 Aufgaben... 63 Inhaltsverzeichnis 1 Einleitung 1 1.1 Programmierung... 1 1.2 Objektorientierte Programmierung... 2 1.3 Voraussetzungen und Ziele dieses Buches... 3 1.4 Aufbau dieses Buches... 4 2 Das imperative Hamster-Modell

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

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8

Fakultät Angewandte Informatik Programmierung verteilter Systeme Übungen zur Vorlesung Informatik II, Blatt 8 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 12.12.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 8 Abgabe: Montag, 19.12.2011, 12.00 Uhr, Informatik

Mehr

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten

Inhaltsverzeichnis 1 Einführung Die Software JGIS Grundlagen raumbezogener Daten 1 Einführung... 1 1.1 Was wird vermittelt?... 1 1.2 Hinweise zum Buch... 3 1.3 Hinweise zur Buch-CD... 4 1.4 Hinweise zum Forum... 4 1.5 Allgemeine Hinweise... 5 2 Die Software JGIS... 7 2.1 Start des

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

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

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 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

Das Model View Controller (MVC) Konzept

Das Model View Controller (MVC) Konzept Das Model View Controller (MVC) Konzept Ziel: Erhöhung der Flexibilität und Reduktion der Komplexität von GUI-Programmen durch Standard- Struktur (MVC-Pattern). Geht zurück auf Smalltalk. View 1 View 2

Mehr

MVC-Architektur am Beispiel von OLAT

MVC-Architektur am Beispiel von OLAT MVC-Architektur am Beispiel von OLAT Marvin Frommhold 12. Januar 2009 Gliederung Begriffe Entwurfsmuster Umsetzung in OLAT Aufbau des Brasato-Frameworks Quellen Begriffe I MVC bezeichnet ein Architekturmuster

Mehr

Übung 1: Object Inspector

Übung 1: Object Inspector Übung 1: Object Inspector Es ist ein System zu entwickeln, mit dem man Objektstrukturen bezüglich ihrer Properties analysieren und dann in einem Tree Viewer (JTree) anzeigen und bearbeiten kann. Properties

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

Graphical User Interfaces

Graphical User Interfaces Graphical User Interfaces SEP 184 Toolkits es gibt verschiedene Toolkits (= Sammlungen von Klassen, Anbindungen an Betriebssystem, etc.) für grafische Oberflächen Abstract Windows Toolkit (AWT) Swing Standard

Mehr

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

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

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Inhaltsverzeichnis. 1 Einleitung 9. Inhalt

Inhaltsverzeichnis. 1 Einleitung 9. Inhalt 3 sverzeichnis 1 Einleitung 9 1.1 Einführung...9 1.1.1 Definition...9 1.1.2 Historie von Java...10 1.1.3 Das Java Development Kit...12 1.1.4 Charakteristika von Java...12 1.1.5 Einsatzgebiete...13 1.1.6

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

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

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

Programmieren 2 07 JavaFX-Properties und Data-Binding

Programmieren 2 07 JavaFX-Properties und Data-Binding Programmieren 2 07 JavaFX-Properties und Data-Binding Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Git synchronisiert Entwicklungsstände

Mehr

Systemnahe Klassen und Utilities Systemnahe Klassen und

Systemnahe Klassen und Utilities Systemnahe Klassen und Systemnahe Klassen und Utilities Systemnahe Klassen und Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Die Wurzelklasse Die Klasse bildet die Wurzelklasse in der Hierarchie der Klassen, von der

Mehr

Swing :Komponenten I (Teil 2)

Swing :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

Mehr

Softwaretechnik. Inhaltsverzeichnis. M. Jakob. 15. März Grundlagen der Projektorganisation

Softwaretechnik. Inhaltsverzeichnis. M. Jakob. 15. März Grundlagen der Projektorganisation M. Jakob Gymnasium Pegnitz 15. März 2016 Inhaltsverzeichnis Grundlagen der Projektorganisation Allgemeines Adaptermuster model-view-controller-muster Praktische Softwareentwicklung Profi GUI für Graphen

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

ADT: Verkettete Listen

ADT: Verkettete Listen ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch{ int zaehler, nenner; public Bruch(int zaehler, int nenner) { this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren

Mehr

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

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

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC Progwerkstatt Philipp Güttler, Christoph Schied, Nicolai Waniek 01.12.2008 Seite 2 Drucken Drucken ist eigentlich ganz einfach...

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 BENUTZERSCHNITTSTELLEN

GRAFISCHE BENUTZERSCHNITTSTELLEN Vorlesung 4.4 GRAFISCHE BENUTZERSCHNITTSTELLEN Dr. Philip Mayer # 1 GUIs Grafische Benutzerschnittstellen (GUIs, Graphical User Interfaces) bieten dem Benutzer Zugriff auf ein Anwendungssystem GUIs sind

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

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen

Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Motivation Grundlagen Technologien Manipulation Ecore Genmodell Demo Persistenz Notification Ausblick GMF Fazit / Quellen Soll ich Modellieren oder Programmieren? sowohl als auch!!! Produktivitäts-Steigerung

Mehr

Multimedia im Netz Wintersemester 2012/13

Multimedia im Netz Wintersemester 2012/13 Multimedia im Netz Wintersemester 2012/13 Übung 10 Ludwig-Maximilians-Universität München Multimedia im Netz WS 2012/13 - Übung 10-1 Lösung zu Übungsblatt 08 Ludwig-Maximilians-Universität München Multimedia

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 10 08.01.2014 Inhalt Programmierung Blatt 9 Eventbehandlung in Java Swing InputDialoge in Java UML Einführung in die Programmierung für NF Übung 10 2 Programmierung

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

Einführung in das Graphical Modeling Framework. 13. November 2012

Einführung in das Graphical Modeling Framework. 13. November 2012 Einführung in das Graphical Modeling Framework 13. November 2012 100 Überblick Was ist der Unterschied zwischen abstrakter Syntax und konkreter Syntax? Welche Arten von graphischen Editoren gibt es? Freihandeditoren

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Bernhard Lahres, Gregor Rayman Objektorientierte Programmierung Das umfassende Handbuch Galileo Press 1.1 Was ist Objektorientierung? 13 1.2 Hallo liebe Zielgruppe 14 1.3 Was bietet dieses Buch (und was

Mehr

Abschnitt 20: Ein Grundprinzip der Software-Architektur

Abschnitt 20: Ein Grundprinzip der Software-Architektur Abschnitt 20: Ein Grundprinzip der Software-Architektur 20. Ein Grundprinzip der Software-Architektur 20 Ein Grundprinzip der Software-Architektur Einf. Progr. (WS 08/09) 770 Modelle und Anwendungen Unsere

Mehr

Ereignisse (Events) in Java

Ereignisse (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

Praktikum Softwareentwicklung 2

Praktikum Softwareentwicklung 2 Praktikum Softwareentwicklung 2 2015S Verena Bitto DI Philipp Lengauer Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Praktikum SWE 2 Institut für Systemsoftware, Johannes

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

class Mitarbeiter {...} class AussendienstMitarbeiter extends Mitarbeiter {...} class InnendienstMitarbeiter extends Mitarbeiter {...

class Mitarbeiter {...} class AussendienstMitarbeiter extends Mitarbeiter {...} class InnendienstMitarbeiter extends Mitarbeiter {... Kapitel 12 Design Patterns 12.1 Das Role-Pattern Faustregel: Klassenhierarchien nicht zu tief, denn 1. Nachbildungen natürlicher tiefer Hierarchien sind meist nicht verhaltenskonformant; 2. Änderung des

Mehr

Übungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise

Übungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise Informatik II (D-ITET) Frühjahrssemester 2015 Prof. Friedemann Mattern Christian Beckel (beckel@inf.ethz.ch) ETH Zürich Institut für Pervasive Computing Gruppe für Verteilte Systeme http://vs.inf.ethz.ch

Mehr

Erste Java-Programme (Java Wiederholung & Vererbung)

Erste Java-Programme (Java Wiederholung & Vererbung) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Java Wiederholung & ) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Medientechnik. Übung 3 MVC & Observer

Medientechnik. Übung 3 MVC & Observer Medientechnik Übung 3 MVC & Observer 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

Mehr

JavaFX Beispiel Lights Out (Teil 1: Ansicht)

JavaFX Beispiel Lights Out (Teil 1: Ansicht) JavaFX Beispiel Lights Out (Teil 1: Ansicht) Beispiel Lights Out Als Beispiel eines vollständigen Programms entwickeln wir eine einfache lineare Variante von Lights Out. Siehe: https://en.wikipedia.org/wiki/lights_out_(game)

Mehr

Klausur "ADP" SS 2015

Klausur ADP SS 2015 PD Dr. J. Reischer 20.7.2015 Klausur "ADP" SS 2015 Nachname, Vorname Abschluss (BA, MA, FKN etc.) Matrikelnummer, Semester Versuch (1/2/3) Bitte füllen Sie zuerst den Kopf des Angabenblattes aus! Die Klausur

Mehr

Das Interface-Konzept am Beispiel der Sprache Java

Das Interface-Konzept am Beispiel der Sprache Java Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

Mehr

Einführung in die Informatik - Teil 6a -

Einführung in die Informatik - Teil 6a - Eckart Modrow Felder mit dem JBuilder S. 1 Einführung in die Informatik - Teil 6a - Felder mit dem JBuilder Inhalt: 1. Bezug zum Unterricht: Anwendungen 2. Eine eigene Klasse Feldverwalter 3. Den Feldverwalter

Mehr

Eclipse in der Java-Entwicklung

Eclipse in der Java-Entwicklung Patrick Kiwitter Eclipse in der Java-Entwicklung aktuell zur Version 3.4 ^Y '! I rwaddison-wesley An imprint of Pearson Education München Boston San Francisco Harlow, England Don Mills, Ontario Sydney

Mehr

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs...

Auf einen Blick. 1 Einleitung Die Basis der Objektorientierung Die Prinzipien des objektorientierten Entwurfs... Auf einen Blick Auf einen Blick 1 Einleitung... 15 2 Die Basis der Objektorientierung... 29 3 Die Prinzipien des objektorientierten Entwurfs... 41 4 Die Struktur objektorientierter Software... 67 5 Vererbung

Mehr

Programmieren für Wirtschaftswissenschaftler SS 2015

Programmieren für Wirtschaftswissenschaftler SS 2015 DEPARTMENT WIRTSCHAFTSINFORMATIK FACHBEREICH WIRTSCHAFTSWISSENSCHAFT Programmieren für Wirtschaftswissenschaftler SS 2015 Lucian Ionescu Blockveranstaltung 16.03 27.3.2015 7. Graphische Oberflächen Ein

Mehr

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008

Ein Entwurfsmuster der GoF. vorgestellt von. Sigrid Weil 16. Januar 2008 Ein Entwurfsmuster der GoF vorgestellt von Sigrid Weil 16. Januar 2008 Einleitung 2 Entwurfsmuster (Design Patterns) beschreiben Probleme, die wiederholt in unterschiedlichsten Zusammenhängen aufreten

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 12. UML GUI-Schicht 1 GUI-Schicht Sichtbarmachen

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Applets Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Einführung 2 Sicherheits-Maßnahmen 3 Ereignisgesteuerte Programmierung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 35 Einstieg in die Informatik mit Java Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 35 1 Grundlagen 2 Verdeckte Variablen 3 Verdeckte Methoden 4 Konstruktoren

Mehr

Objektorientierte Analyse (OOA) OOA-Pattern

Objektorientierte Analyse (OOA) OOA-Pattern OOA-Muster (Architektur Pattern) Ein Pattern (Entwurfsmuster) ist ein Problem mit seiner Lösung in einem Kontext. Der Kontext enthält in der Regel Zielkonflikte, die der Designer lösen muss, z.b. Performance

Mehr

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

Einführung in die Programmierung für NF. Übung 08 Einführung in die Programmierung für NF Übung 08 Inhalt Eventbehandlung in Java Swing Einführung in die Programmierung für NF Übung 08 2 Eventbehandlung in Java Swing Wir haben bereits einige grafische

Mehr

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

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

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

Klausur: Programiermethoden und Techniken

Klausur: Programiermethoden und Techniken Klausur: Programiermethoden und Techniken WS12/13 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie den Studentenausweis auf den Tisch.

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

11. Komponenten Grundlagen der Programmierung 1 (Java)

11. Komponenten Grundlagen der Programmierung 1 (Java) 11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung

Mehr

Programmieren 2 07 JavaFX-Properties und Data-Binding

Programmieren 2 07 JavaFX-Properties und Data-Binding Programmieren 2 07 JavaFX-Properties und Data-Binding Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Letztes Mal haben wir Entwickler synchronisiert...

Mehr

Praxisbuch Objektorientierung

Praxisbuch Objektorientierung Bernhard Lahres, Gregor Rayman Praxisbuch Objektorientierung Von den Grundlagen zur Umsetzung Galileo Press 1.1 Was ist Objektorientierung? 11 1.2 Hallo liebe Zielgruppe 12 1.3 Was bietet dieses Buch (und

Mehr

Beispiel: Eine Choice-Liste...

Beispiel: Eine Choice-Liste... Beispiel: Eine Choice-Liste...! "#%$&! ; = '( ) )+**,-. /*0 1 2 ) 3 #%$+45* 6 7%$& -* 89 #6 #:/*0 #%$ < /0 # 1< ) 1< >?270 #@ < /0 # 1 2 ) )

Mehr

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Aufgabenblatt 4. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt: Aufgabenblatt 4 Kompetenzstufe 1 Allgemeine Informationen zum Aufgabenblatt: Die Abgabe erfolgt in TUWEL. Bitte laden Sie Ihr IntelliJ-Projekt bis spätestens Freitag, 08.12.2017 13:00 Uhr in TUWEL hoch.

Mehr

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm

Java. Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm Java Von den Grundlagen bis zu Threads und Netzen von Prof. Dr. Ernst-Wolfgang Dieterich Fachhochschule Ulm R.Oldenbourg Verlag München Wien 1999 1. Einleitung 11 2. Java-Entwicklungsumgebung 15 2.1 JDK

Mehr

Java Web Start. Definition, Beispiel, JNLP. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1

Java Web Start. Definition, Beispiel, JNLP. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Java Web Start Definition, Beispiel, JNLP Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Definition Technologie zur Auslieferung von Java Anwendungen über das Internet. Web Start Anwendungen

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

Entwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr

Entwurfsmuster. Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Entwurfsmuster Die Entwurfsmuster Observer, State und Singleton am Beispiel einer Digital-Uhr Was sind Entwurfsmuster (1) Muster (allg.) sind schematische Lösungen für eine Klasse verwandter Probleme Beschreibung:

Mehr

Eclipse Rieh Client Platform

Eclipse Rieh Client Platform Heiko Sippel, Jens Bendisposto, Michael Jastram Eclipse Rieh Client Platform Entwicklung von erweiterbaren Anwendungen mit RCP ntwickier.press V E E.l E.2 E.3 E.4 Teil 1 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2

Mehr

Objektorientierte Programmierung mite**

Objektorientierte Programmierung mite** mc Jürgen Franz/Christoph Mattheis Objektorientierte Programmierung mite** Systemunabhängig umsteigen auf C ++ Windowsprogrammierung Beispiele für UNIX Mit 66 Abbildungen Franzis 9 Inhalt 1 Überblick C++

Mehr