Heiko Barth und Thorsten Schenkel, compeople AG. Databinding in Eclipse

Größe: px
Ab Seite anzeigen:

Download "Heiko Barth und Thorsten Schenkel, compeople AG. Databinding in Eclipse"

Transkript

1 Heiko Barth und Thorsten Schenkel, compeople AG Databinding in Eclipse

2 Folie 2 Agenda Vorstellung der grundlegenden Konzepte von Databindings Ansatz von Eclipse DataBinding Die Kernkomponenten von Eclipse DataBinding Detaillierte Darstellung und Beispiele Abgeleitete Werte (Computed Values) ListViewer Pro und Contra Eclipse DataBinding

3 Folie 3 Grundlegende Konzepte Problem: Synchronisation von UI und Model UI? Model Wie kann eine solche Verbindung umgesetzt werden? Die Lösung ist das Observer Pattern

4 Folie 4 Grundlegende Konzepte Observer Pattern UI Observe Properties Model Hauptprobleme bei manueller Vorgehensweise Code-Redundanzen und Fehleranfälligkeit Rekursionen Ansatzpunkt für Eclipse DataBinding

5 Folie 5 Ansatz von Eclipse DataBinding Unterstützung für das Observieren und Binden von UI- und Modell-Komponenten Schutz vor Rekursionen Hooks für Daten-Validierung Hooks für Daten-Konvertierung Unterstützung im Bereich Master-Detail Interne Nutzung des Observer Patterns

6 Folie 6 Kernkomponenten NO TEXT Observable Converter Binding Validator UpdateStrategy Tracker

7 Folie 7 Kernkomponenten NO TEXT Observable [UI] /write /event Binding /event /write Observable [MODEL] /control dataflow Updatestrategy Validator Converter

8 Folie 8 Observables Beobachtung von Komponenten Model: Bean-Value (get-/setvalue), List, Set, Map UI: SWT Widgets (z.b. Text, List) Factories für UI- und Modellobservation Model: BeansObservables (z.b. observevalue) UI: SWTObservables (z.b. observetext) Publikation von Änderungen durch Events Implementierung des ValuePattern

9 Folie 9 Observables BeansObservables Factory erzeugt Observables für Objekte, die der JavaBean Spezifikation entsprechen

10 Folie 10 Observables PropertyChangeSupport JavaBean unterstützt PropertyChangeSupport addpropertychangelistener removepropertychangelistener Nach dem Setzen eines Wertes wird ein PropertyChangeEvent gefeuert BeansObservables können Änderungen im Model sofort propagieren.

11 Folie 11 Observables Codebeispiel für BeansObservables

12 Folie 12 Observables SWTObservables Factory erzeugt Observables für SWT Widgets

13 Folie 13 Observables Codebeispiel für SWTObservables

14 Folie 14 Binding Bindeglied zwischen 2 Observables Observation der Observables Uni- oder Bidirektional Propagation von Wertänderungen an Partner-Observable Unterteilung einer Synchronisation in Phasen Nutzung und Verwaltung von UpdateStrategies

15 Folie 15 Binding Codebeispiel für Binding

16 Folie 16 Binding Live Demo in Eclipse Person Binding

17 Folie 17 Binding Update-Phasen (ValueBinding) Validate After Get Convert Validate After Convert Validate Before Set Hook Point Hook Point Hook Point Hook

18 Folie 18 UpdateStrategy Container für Validatoren afterget afterconvert beforeset Container für Converter Default-Converter für Basis-Typen Beim Binden kann für jede Datenflußrichtung eine UpdateStrategy gesetzt werden targettomodel modeltotarget

19 Folie 19 Validator Validiert einen Wert Die Validierung liefert einen Status OK CANCEL INFO WARNING ERROR Datenfluß wird unterbrochen public interface IValidator { public IStatus validate(object value); }

20 Folie 20 Validator Codebeispiel für Validator (1.Teil) Validator-Klasse

21 Folie 21 Validator Codebeispiel für Validator (2.Teil) Validator setzen (targettomodel)

22 Folie 22 Validator Nach dem Holen der Werts aus dem Textfeld wird dieser validiert Im Fehlerfall (ERROR) wird der Datenfluss unterbrochen Wert wird nicht in das Model geschrieben Status wird im Binding-Kontext gesammelt

23 Folie 23 Validator Status des Binding-Kontext observiert werden. AggregateValidationStatus Observiert Status der Liste von Bindings Ist selbst eine ObservableValue AggregateValidationStatus kann z.b. mit JavaBean gebunden werden Dieses Bean reagiert auf Änderungen des Status Im Fehlerfall wird eine Meldung ausgegeben und der Wert zurückgesetzt

24 Folie 24 Validator Codebeispiel für Validator (3.Teil) Status der Validierung auswerten

25 Folie 25 Validator Codebeispiel für Validator (4.Teil) JavaBean, das Statusänderungen verarbeitet

26 Folie 26 Validator Live Demo in Eclipse ValidationBindingExample

27 Folie 27 Converter Konvertiert einen Wert Es existieren bereits ein Reihe von Konvertern StringToShortConverter StringToDateConverter IntegerToStringConverter Etc. Siehe: org.eclipse.core.internal.databinding.conversion public interface IConverter { public Object convert(object fromobject); public Object getfromtype(); public Object gettotype(); }

28 Folie 28 Computed Value Unterstützung für abgeleitete Werte Dynamische Ermittlung von Abhängigkeiten Technische Umsetzung Tracking-Mechanismus

29 Folie 29 Computed Value Tracking Mechanismus (Teil 1) Tracker getvalue ObsV_1 +doget() add(this) ov1 Computed Value +caculate() Registrierung ov2 getvalue add(this) ovn ObsV_n +doget()

30 Folie 30 Computed Value Tracking Mechanismus (Teil 2) Tracker Dynamisches Binden ov1 Computed Value +calculate() observe ov2 ovn

31 Folie 31 Computed Value Codebeispiel

32 Folie 32 List Live Demo in Eclipse ComputedValueDemo

33 Folie 33 List Binden von ListViewer (JFace) Listeninhalt ContentProvider: ObservableListContentProvider Input: WritableList Selektion ViewersObservables Für JFace Viewer, die ISelectionProvider implementieren

34 Folie 34 List Codebeispiel für Listen

35 Folie 35 List Live Demo in Eclipse ListViewerDemo

36 Folie 36 Vorteile Minimierter Aufwand für die Synchronisation von GUI und Model Einfache Integration von Validatoren und Konvertern Erhöhte Wartbarkeit im Vergleich zu manueller Vorgehensweise

37 Folie 37 Nachteile Zusätzliche Schicht Erhöhter Debug-Aufwand Introspection und Reflection Performance Einbußen Refactoring Einschränkungen

38 Folie 38 Resumé Einfaches und einheitliches Databinding-Konzept Weite Verbreitung in der Eclipse-Community UI-Toolkit unabhängig (SWT, Swing, GWT, ) Seit eclipse 3.3 stabiles API

39 Folie 39 Referenzen Eclipsepedia JFace Data Binding Eclipse Data Binding für die Kommunikation zwischen Modell und GUI Artikel von Ludwig Mittermeier im Eclipse Magazin 4/2007

40 Folie 40 Vielen Dank für Ihre Aufmerksamkeit Besuchen Sie uns in der compeople Lounge 46

EclipseLink. JPA mit. Plus CD! 3.09. Eclipse RCP >> 72. Spring Dynamic Modules >> 12. Eclipse SOA >> 80. Neue Serie: Eclipse-Business-Modelle >> 78

EclipseLink. JPA mit. Plus CD! 3.09. Eclipse RCP >> 72. Spring Dynamic Modules >> 12. Eclipse SOA >> 80. Neue Serie: Eclipse-Business-Modelle >> 78 3.09 Österreich Plus CD! Neue Serie: Eclipse-Business-Modelle >> 78 Deutschland 9,80 Österreich 10,80, Schweiz CHF 19,20 Weitere Infos S. 3 >> Bonusartikel Eclipse DataBinding für die Kommunikation zwischen

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

JavaBeans Property-Editoren und Customizer

JavaBeans Property-Editoren und Customizer JavaBeans Property-Editoren und Customizer J. Heinzelreiter WS 2004/05 Property-Editoren Builder Tools beinhalten Standard-Editoren für Zahlen (ganze Zahlen, Gleitkommazahlen), Strings, Auswahl von Fonts,

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

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Komponentenorientierte Software-Entwicklung. Seite 1 / 42 Seite 1 / 42 Wiederholung Messaging Java Messaging Service (JMS) Pub/Sub P2P Messaging Middleware XMPP-Protokoll Java API for XML-Processing (JAXP) Java API for XML-Binding Webservices / SOA Simple Object

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

VON MVC ZU MODEL-VIEW-VIEWMODEL

VON MVC ZU MODEL-VIEW-VIEWMODEL VON MVC ZU MODEL-VIEW-VIEWMODEL Wissenschaftliche Vertiefung von Lukas Jaeckle Studiengang Softwaretechnik und Medieninformatik Folie 1 von 18 Agenda 1. Architekturmuster 2. Architekturmuster für interaktive

Mehr

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps

Skalierbare Enterprise Architekturen für Universal Windows Platform Apps Agenda Ziele Portable Class Libraries Projektaufbau MVVM Databinding #1 MVVM Light Inversion of Control & Dependency Injection Repository Pattern Databinding #2 Skalierbare Enterprise Architekturen für

Mehr

»Beziehungen schaden nur dem, der sie nicht hat.«volksmund

»Beziehungen schaden nur dem, der sie nicht hat.«volksmund D3kjd3Di38lk323nnm 129 7 Databinding»Beziehungen schaden nur dem, der sie nicht hat.«volksmund In Enterprise-Anwendungen geht es überwiegend darum, die aus dem Backend geladenen Daten, in anderen Worten:

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

Design Patterns. 3. Juni 2015

Design Patterns. 3. Juni 2015 Design Patterns 3. Juni 2015 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Taentzer Softwarequalität 2015 138 Was sind Design Patterns?

Mehr

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank

Inhaltsverzeichnis. TeiM. V E E.l E.2 E.3 E.4. Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank V E E.l E.2 E.3 E.4 TeiM 1 1.1 1.2 1.3 1.4 1.5 2 2.1 2.2 2.3 2.4 2.5 2.6 3 3.1 3.2 3.3 3.4 3.5 Vorwort von Stefan Tilkov Einleitung Zielgruppe Über dieses Buch Konventionen Dank Überblick Die Entwicklungsumgebung

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

Spring IDE. Christian Dupuis - Spring 2.0 Release Party

Spring IDE. Christian Dupuis - Spring 2.0 Release Party Spring IDE Torsten Jürgeleit, J Christian Dupuis - Spring 2.0 Release Party Agenda? Überblick? Spring Beans Unterstü? Spring Web Flow Unterstü? Geplante Erweiterungen? Demonstration Überblick? Spring gibt

Mehr

Riena Project. Heiko Barth Thorsten Schenkel 21. SPIN am 5. September 2008

Riena Project. Heiko Barth Thorsten Schenkel 21. SPIN am 5. September 2008 Riena Project Heiko Barth Thorsten Schenkel 21. SPIN am 5. September 2008 Agenda Kurzportrait compeople AG Smart Client Ansatz Eclipse Riena Architektur User Interface Status Links Agenda Kurzportrait

Mehr

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz Architektur Überblick Allgemeines, Geschichtliches Architektur Oberfläche Plugins und deren Einsatz Was ist Eclipse? Open-Source-Framework zur Entwicklung von Software nahezu aller Art. Bekannteste Verwendung:

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

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

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

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

Annotation based presentation models for view rendering and data binding with Linkki and Vaadin

Annotation based presentation models for view rendering and data binding with Linkki and Vaadin Annotation based presentation models for view rendering and data binding with Linkki and Vaadin jan.ortmann@faktorzehn.de 20.02.2017 Faktor-IPM - Architektur 1 Annotation based presentation models for

Mehr

Java Beans. http://java.sun.com/beans/

Java Beans. http://java.sun.com/beans/ Java Beans http://java.sun.com/beans/ Software Komponenten Eine Software Komponente ist ein eigenständiges, flexibles und einfach wieder verwendbares Stück Software. In Java: + Plattformunabhängigkeit

Mehr

Windows Presentation Foundation

Windows Presentation Foundation Folie 1 Windows Presentation Foundation Workshop Teil 2 Pawel Kazakow Bjoern Hass pawel.kazakow@studentprogram.de bjoern.hass@studentprogram.de Folie 2 Windows Presentation Foundation Besprechung der Praxisaufgabe

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

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Eclipse Equinox als Basis für Smart Client Anwendungen Christian Campo, compeople AG, 5.7.2007 Java Forum Stuttgart 2007 Übersicht Definition / Architektur Smart Client Smart Client mit RCP / Equinox Gesamtfazit

Mehr

Grafische Benutzeroberflächen mit Swing

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

Mehr

GUI-Entwicklung 2: Windows Presentation Foundation

GUI-Entwicklung 2: Windows Presentation Foundation GUI-Entwicklung 2: Windows Presentation Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Sandra Müller Institut für Informatik Software & Systems Engineering Agenda 1. Die WPF 2. Einführung

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

Design Patterns 2. Model-View-Controller in der Praxis

Design Patterns 2. Model-View-Controller in der Praxis Design Patterns 2 Model-View-Controller in der Praxis Design Patterns Oft Schablonen für eine Klassenstruktur... aber nicht immer! Dahinterliegende Konzepte wichtiger als wörtliche Umsetzung Pattern werden

Mehr

Varianten des Observer Pattern

Varianten des Observer Pattern Varianten des Observer Pattern Das Observer Pattern ist ein GoF Entwurfmuster um Änderungen an einem Objekt in abhängigen Ansichten zu aktualisieren. Das Pattern bietet eine Lösung zur Nachrichtenverteilung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

Ein Design Tool für objektorientierte portable Programmierschnittstellen

Ein Design Tool für objektorientierte portable Programmierschnittstellen Diplomarbeit Ein Design Tool für objektorientierte portable Programmierschnittstellen Vortragender: Elias Volanakis Inhalt 1. Entwurfsmuster 2. Wrapper Facade (WF) Aufgaben & Struktur Implementierung Nutzen

Mehr

Richard Bubel & Martin Hentschel

Richard Bubel & Martin Hentschel Einführung in Software Engineering Übung 9: Design Patterns Richard Bubel & Martin Hentschel 31. Januar 2013 130131 TUD M. Hentschel 1 Aufgabe 9.1 (7 Punkte) Ziel: Entwurfsmuster verstehen und anwenden

Mehr

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand.

Java Beans. Übersicht, Eigenschaftstypen, Heutiger Stand. Java Beans Übersicht, Eigenschaftstypen, Heutiger Stand. 1 Definition Eine Bean ist eine wieder verwendbare Softwarekomponente basierend auf der JavaBeans-Spezifikation von Sun, die sich visuell mit einem

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

Java Metadata Interface. Thorsten Pivl

Java Metadata Interface. Thorsten Pivl Java Metadata Interface Thorsten Pivl Einleitung Was sind Metadaten? Das Wort Meta stammt aus dem griechischen und bedeutet über Meta-Daten: Daten über Daten Beschreibung von Daten 2 Einleitung Warum Metadaten?

Mehr

Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit

Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit Be dynamic! RichClient-Funktionalitäten mit dem Google Web Toolkit DOAG Konferenz 16. 18.11.2010, Nürnberg Julian Gärtner info@ordix.de www.ordix.de Heutiges Ziel Einordnen von GWT in die Welt der Rich

Mehr

Properties und Proxies

Properties und Proxies g n årà Dr. Winfried Grünewald service@grnwld.de Properties und Proxies Dr. Winfried Grünewald, Stutensee 2011 Version 0.9 2/10 1 Einleitung Die Java Entwicklungsumgebung bietet mit den Properties-Dateien

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

Business Applika-onen schnell entwickeln JVx Framework - Live!

Business Applika-onen schnell entwickeln JVx Framework - Live! Business Applika-onen schnell entwickeln JVx Framework - Live! - Enterprise Applica-on Framework h&p://www.sibvisions.com/jvx JVx ermöglicht in kürzester Zeit mit wenig Source Code hoch performante professionelle

Mehr

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo Webentwicklung mit Vaadin 7 Theoretische und praktische Einführung in Vaadin 7 Christian Dresen, Michael Gerdes, Sergej Schumilo Agenda Allgemeines Architektur Client-Side Server-Side Vaadin UI Components

Mehr

Going Crazy mit JavaScript: Grafik im Browser. Martin Marinschek, Stefan Schuster IRIAN.at

Going Crazy mit JavaScript: Grafik im Browser. Martin Marinschek, Stefan Schuster IRIAN.at Going Crazy mit JavaScript: Grafik im Browser Martin Marinschek, Stefan Schuster IRIAN.at 2 Agenda Grafik im Browser Möglichkeiten Hilfsmittel Grafik-Applikationen Umsetzung Beispiele 3 Grafik im Browser?

Mehr

Graphische Oberflächen und das Java AWT

Graphische Oberflächen und das Java AWT Graphische Oberflächen und das Java AWT Eine Einführung in das Abstract Window Toolkit Prof. Dr. Nikolaus Wulff Agenda Die (wichtigsten) AWT Klassen Das Model-View-Controller Konzept Die Ereignisverarbeitung

Mehr

Das Eclipse Jubula Projekt zur funktionalen Testautomatisierung

Das Eclipse Jubula Projekt zur funktionalen Testautomatisierung Werkzeuge Hier für soll Software-QS der Titel rein und -Test Das Eclipse Jubula Projekt zur funktionalen Testautomatisierung Alexandra Schladebeck BREDEX GmbH www.qs-tag.de Veranstalter: imbus AG www.qs-tag.de

Mehr

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1

Design Patterns MVC. Marcus Köhler Markus Merath Axel Reusch. Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Design Patterns MVC Marcus Köhler Markus Merath Axel Reusch Seite 1 Agenda! Allgemeines! Aufgabenverteilung! Alltagsbeispiel! Beurteilung! Konkretes

Mehr

Line-of-Business-Apps mit der Universal Windows Platform entwickeln. Thomas Claudius

Line-of-Business-Apps mit der Universal Windows Platform entwickeln. Thomas Claudius Line-of-Business-Apps mit der Universal Windows Platform entwickeln Thomas Claudius Huber @thomasclaudiush Thomas Claudius Huber Principal Consultant bei Trivadis Pluralsight-Autor, Buchautor C#, XAML,

Mehr

Modernisierung von Forms durch neues Look&Feel

Modernisierung von Forms durch neues Look&Feel Modernisierung von Forms durch neues Look&Feel Dr. Gudrun Pabst gudrun.pabst@trivadis.com Basel Baden Bern Lausanne Zürich Düsseldorf Frankfurt/M. Freiburg i. Br. Hamburg München Stuttgart Agenda Definition

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

WPF - Windows Presentation Foundation

WPF - Windows Presentation Foundation Arthur Zaczek Nov 2014 1 WPF 1.1 WPF Windows Presentation Foundation, seit.net 3.0 Introduction to WPF: http://msdn.microsoft.com/en-us/library/aa970268(v=vs.110).aspx Windows Presentation Foundation:

Mehr

Konfigurieren statt Programmieren: Data Driven Java Development

Konfigurieren statt Programmieren: Data Driven Java Development Konfigurieren statt Programmieren: Data Driven Java Development Thomas Haskes Triestram & Partner GmbH Bochum Schlüsselworte rapid.java, Data Driven Java Development, UI-Konfiguration, Eclipse, SWT, Oracle,

Mehr

Control System Studio CSS

Control System Studio CSS Control System Studio CSS Überblick Was ist CSS? Motivation Design Applikationen Entwicklungsbeispiel Kollaboration/ Entwicklung Demo Was ist CSS? CSS ist: ein Framework für Plug-ins zur Entwicklung von

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze

JavaFX auf Mobile. von Stefan Barth und Stefan Heinze von Stefan Barth und Stefan Heinze JavaFX Was ist JavaFX? Desktopanwendungen für Java (Ablösung von Swing) Properties / Bindings Animationen Effekte MultiTouch Media, CSS FXML, CSS Webbrowser... Einsatzmöglichkeiten

Mehr

Einführung in Google Web Toolkit

Einführung in Google Web Toolkit Einführung in Google Web Toolkit Lars Pfannenschmidt Tobias Ullrich Software Freedom Day 2009 Lars Pfannenschmidt, Tobias Ullrich () Einführung in Google Web Toolkit Software Freedom Day 2009 1 / 24 Aus

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

CLICK TO EDIT MASTER TITLE STYLE

CLICK TO EDIT MASTER TITLE STYLE CLICK TO EDIT MASTER TITLE STYLE AUTOMATISCHE ERZEUGUNG VON BENUTZEROBERFLÄCHEN UND DATENHALTUNG FÜR DIE KONFIGURATION VON FELDGERÄTEN Diplomverteidigung Betreuer (Firma ubigrate): Dipl.-Inform. Falk Hartmann

Mehr

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.

Rich Internet Applications, Flex & Mate. (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail. Rich Internet Applications, Flex & Mate (Ja, das ist Grafische Benutzeroberflächen!) 18.03.2010 Jakob Külzer jakob.kuelzer@gmail.com Überblick Mein Thema im Überblick 1. Definitionen 2. Rich Internet Applications

Mehr

Objective-C für Eclipse-Entwickler Gegenüberstellungen von Syntax, Konzepten, Patterns.

Objective-C für Eclipse-Entwickler Gegenüberstellungen von Syntax, Konzepten, Patterns. Objective-C für Eclipse-Entwickler Gegenüberstellungen von Syntax, Konzepten, Patterns. Yang Meyer / compeople AG / Eclipse-Stammtisch Frankfurt / 7. April 2011 / v1.0 ios: Überblick Mac OS X ios iphone

Mehr

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler

Eine technische Plattform für Smart-Client-Systeme. Alexander Ziegler Eine technische Plattform für Smart-Client-Systeme Alexander Ziegler Agenda Ausgangssituation Smart Client Ansatz Technische Kernthemen Erfahrungen 1 Agenda Ausgangssituation Smart Client Ansatz Erfahrungen

Mehr

User Experience. Wie gestalte ich meine Windows Phone 7 Applikation. Max Knor Developer Evangelist Microsoft http://www.knor.net/

User Experience. Wie gestalte ich meine Windows Phone 7 Applikation. Max Knor Developer Evangelist Microsoft http://www.knor.net/ User Experience Wie gestalte ich meine Windows Phone 7 Applikation Max Knor Developer Evangelist Microsoft http://www.knor.net/ Agenda 09:00 09:50 09:50 10:00 MSDN Track Windows Phone 7 ist da! Keynote

Mehr

Verhaltensmuster. Entwurfsmuster - Design Patterns. HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik

Verhaltensmuster. Entwurfsmuster - Design Patterns. HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik Entwurfsmuster - Design Patterns HAW Hamburg Fakultät Technik und Informatik Department Informations- und Elektrotechnik 27. November 2009 Gliederung 1 Einführung 2 Strategie-Muster 3 Beobachter-Muster

Mehr

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004

Java Beans. Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 Java Beans Seminar Komponentenprogrammierung Freie Universität Berlin, WS 2004/2005 Ivo Köhler, 08. November 2004 1 Agenda Was sind Java Beans? Wie funktionieren Java Beans? Objekte vs. Komponenten Mechanismen

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

Die OSGi Service Plattform

Die OSGi Service Plattform Die OSGi Service Plattform Seminarvortrag Bernhard Cleven Gliederung 1 Einleitung 2 Das Framework 3 Bundles 4 Services 5 Beispiel 6 Fazit Seite 1/ 17 Einleitung Warum OSGi? Durch Modularisierung flexible

Mehr

Open Source IDE - eclipse ETIS SS04

Open Source IDE - eclipse ETIS SS04 Open Source IDE - eclipse ETIS SS04 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung 2 Motivation

Mehr

WPF Bindung. Dr. Beatrice Amrhein

WPF Bindung. Dr. Beatrice Amrhein WPF Bindung Element- und Daten-Bindung Dr. Beatrice Amrhein Überblick Element-Bindung via Eigenschaften-Editor Grenzen des Eigenschaften Editors Die C# Klasse Binding Bindung an C# Objekte 2 Einführung

Mehr

Hintergrund und Motivation

Hintergrund und Motivation Zentrale Aspekte der Komponentenorientierung 2. JavaBeans als Komponenten Java-GUI-Elemente sind Beans Typischer Aufbau von Beans Bound properties Constrained Properties Speichern Literatur: Sun, JavaBeans

Mehr

Swing: Daten binden. Karsten Lentzsch www.jgoodies.com

Swing: Daten binden. Karsten Lentzsch www.jgoodies.com Swing: Daten binden Karsten Lentzsch www.jgoodies.com Ziel Ansätze kennenlernen wie man in Swing Fachdaten mit der Oberfläche verbinden kann Lösungen bewerten können Vorstellung Ich baue Swing-Anwendungen,

Mehr

Dokumentation: Content App Framework

Dokumentation: Content App Framework Dokumentation: Content App Framework Andreas Breuninger, medialesson GmbH Januar 2013 Inhaltsverzeichnis 1. DataService... 3 1.1. Laden/Parsen der Daten... 3 1.1.1. GetDataset() -> GetDataAsync() ->

Mehr

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste

Mehr

Komponentenbasierter

Komponentenbasierter Komponentenbasierter Taschenrechner mit CORBA Silke Kugelstadt Torsten Steinert Inhalt Motivation Demonstration des Taschenrechners Grobarchitektur Implementierung des Clients Implementierung der Komponenten

Mehr

Automaten und das State Pattern

Automaten und das State Pattern Automaten und das State Pattern Axel Böttcher 24. September 2012 (GUI-)Logik mittels Automaten realisieren Das Problem, komplizierte Logik zu implementieren tritt recht häufig auf. Smells: häufig wiederholte

Mehr

Moderne Web- Anwendungen mit

Moderne Web- Anwendungen mit Moderne Web- Anwendungen mit Oliver.Damm@akquinet.de September 2013 Web- Anwendungen mit Vaadin???

Mehr

Knockout MVVM für Javascript und HTML5. W3L AG

Knockout MVVM für Javascript und HTML5. W3L AG 1 Knockout MVVM für Javascript und HTML5 W3L AG info@w3l.de 2012 2 Inhalt Einführung Begriffliche Einordnung Motivierendes Beispiel Grundlagen von Knockout Konzepte Definition des ViewModels Deklaratives

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

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com Sonargraph in 15 Minuten Andreas Hoyer a.hoyer@hello2morrow.com blog.hello2morrow.com hello2morrow GmbH Gegründet 2005 Angesiedelt in Deutschland, USA und Kolumbien > 95% des Umsatzes Software Lizenzen,

Mehr

Bean-Mapping mit MapStruct

Bean-Mapping mit MapStruct Machst Du noch Reflection oder annotierst Du schon? Bean-Mapping mit MapStruct Thomas Much thomas@muchsoft.com www.muchsoft.com 1 20 Jahre Java, 18 Jahre Beans JavaBeans JAXBEntities 2015 2006 2005 2000

Mehr

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/

AK Medientechnologien Hello World. Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ AK Medientechnologien Hello World Josef Kolbitsch josef.kolbitsch@tugraz.at http://businesssolutions.tugraz.at/ Übersicht Demo-Applikation: Hello World Rückblick auf einzelne Schritte Entwicklungswerkzeuge

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

6. Objektorientiertes Design

6. Objektorientiertes Design 6. Objektorientiertes Design 6.1 Entwurfsmuster 6.2 Zusammenfassendes Beispiel 6.3 Umsetzung des Model-View-Controller- Musters in Java 6. Objektorientiertes Design 6-1 Grundlage des objektorientierten

Mehr

Test-driven development JUnit-Test. Lars Varain

Test-driven development JUnit-Test. Lars Varain Test-driven development JUnit-Test Lars Varain Inhalt Test-driven Development (TDD) Junit4 Beispiel Inhalt Test-driven Development (TTD) Warum TDD? Zyklus Ausnahmebehandlung Junit4 Beispiel Inhalt Test-driven

Mehr

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI

V by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets Unterlagen zum Modul OOP mit Java V 3.0 2007 by WBR1/BFH-TI 2011 by MOU2/BFH-TI Java-Applets V3.0 2011 by WBR1&MOU2/BFH- TI Lernziele Die Kursteilnehmer sind in der Lage: Möglichkeiten und

Mehr

Inhaltsverzeichnis. Verwendung von TConnector in VC++.NET...4 Microsoft.NET Framework Tools - Anmerkung...5

Inhaltsverzeichnis. Verwendung von TConnector in VC++.NET...4 Microsoft.NET Framework Tools - Anmerkung...5 Inhaltsverzeichnis TConnector in Visual C++.Net einfügen (MFC Dialog)...2 1. MFC Projekt anlegen...2 2. TConnector in die Toolbox einfügen...2 3. TConnector im Customize Toolbox Dialog wählen...2 4. TConnector

Mehr

Android GUI Entwicklung

Android GUI Entwicklung Android GUI Entwicklung Aktuelle Technologien verteilter Java Anwendungen Referent: Stefan Haupt Hello World! Agenda Einführung & Motivation Android Applikationen UI-Komponenten Events Ressourcen Kommunikation

Mehr

Sponsoren der /ch/open

Sponsoren der /ch/open Sponsoren der /ch/open 29. Apr 2004 Solcept AG I:\promotion\events\ch-open\wxWidgets\Alois\PRES_wxWidgets_ch-open-ac.sxi 1 wxwidgets/ wxwindows An open source C++ GUI framework to make cross-platform programming

Mehr

Remote Eclipse RCP Management

Remote Eclipse RCP Management Remote Eclipse RCP Management Diplomarbeit Durchgeführt in Zusammenarbeit mit Deutsches Elektronen-Synchrotron DESY 1. Betreuer: Prof. Dr. Züllighoven 2. Betreuer: Prof. Dr. Lamersdorf Eugen Reiswich 09.12.2008

Mehr

Enterprise JavaBeans Überblick

Enterprise JavaBeans Überblick Enterprise JavaBeans Überblick 1. Überblick Java EE 5 und Komponententechnologien 2. Einführung Java EE 5 Plattform 3. Enterprise JavaBeans Architektur 4. Ressourcen Management und Primäre Services 5.

Mehr

WPF Steuerelemente Listbox, ComboBox, ListView,

WPF Steuerelemente Listbox, ComboBox, ListView, WPF Steuerelemente Listbox, ComboBox, ListView, Dr. Beatrice Amrhein Überblick Einführung Listen ComboBox Tabellen 2 Einführung 3 Listen- und Tabellen-Elemente Listen und Tabellen-Elemente sind Steuerelemente,

Mehr

eclipse - Entwicklungsumgebung und mehr ETIS SS05

eclipse - Entwicklungsumgebung und mehr ETIS SS05 eclipse - Entwicklungsumgebung und mehr ETIS SS05 Gliederung Motivation Geschichte Architektur Platform Runtime Eclipse Platform Java Development Tools (JDE) Plugin Development Environment (PDE) Zusammenfassung

Mehr

XML in der Oracle Datenbank

XML in der Oracle Datenbank XML in der Oracle Datenbank Oracle XML DB Eine kurze Einführung Gruppe A Michaela Geierhos Galina Hinova Maximilian Schöfmann AGENDA Warum XML in einer Datenbank? Was bietet die Oracle XML DB? Unterschiedliche

Mehr

Android Processes & Services

Android Processes & Services Android Processes & Services Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Ziele heute Arbeitsblatt 4 besprechen (inkl. Repetition)

Mehr

Generischer Modellvergleich mit EMF Compare

Generischer Modellvergleich mit EMF Compare Fakultät Informatik Hauptseminar Technische Informationssysteme SS2010 Generischer Modellvergleich mit EMF Betreuer: Dipl.-Inf. Uwe Ryssel Dresden, 16.07.2010 Gliederung 1. Motivation 2. Eclipse Modeling

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

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire

Integration von Web Services in J EE Anwendungen mit XFire. 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire Integration von Web Services in J EE Anwendungen mit XFire 1/26 André Janus - Integration von Web Services in J EE Anwendungen mit XFire univativ : = Umsetzung durch Studenten und Young Professionals.

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

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile

Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile Umstieg auf OSGi - aber wie? Martin Lippert & Matthias Lübken akquinet it-agile OSGi The dynamic module system for Java Bundles Exports Imports Dependencies Services Declarative Services Versionen Dynamic

Mehr

Schick statt altbacken Oberflächen-Modernisierung von Forms-Anwendungen

Schick statt altbacken Oberflächen-Modernisierung von Forms-Anwendungen Schick statt altbacken 24.01.2017 Version 1.0 Seite 1 Zur Person Mark Eichhorst Oracle Forms/Reports/(Designer) seit 1992 Versionen: 3.0, 6i, 10g, 11g, 12c, Hobby: Performance Optimierung Seite 2 Agenda

Mehr