Programmieren 2 07 JavaFX-Properties und Data-Binding



Ähnliche Dokumente
Programmieren 2 07 JavaFX-Properties und Data-Binding

Die Post hat eine Umfrage gemacht

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Das Model View Controller (MVC) Konzept

Fotostammtisch-Schaumburg

Ändern eines Kontotyps

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

iphone-kontakte zu Exchange übertragen

Leit-Bild. Elbe-Werkstätten GmbH und. PIER Service & Consulting GmbH. Mit Menschen erfolgreich

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Was meinen die Leute eigentlich mit: Grexit?

Österreichische Trachtenjugend

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Beschaffung mit. Auszug aus dem Schulungshandbuch: Erste Schritte im UniKat-System

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Anwendungsbeispiele Buchhaltung

P&P Software - Adressexport an Outlook 05/29/16 14:44:26

Aufgabe 6 Excel 2013 (Fortgeschrittene) Musterlösung

Viele Bilder auf der FA-Homepage

Sicherer einkaufen im Internet. Ihre Registrierung für 3D Secure auf der HVB Website Schritt für Schritt.

Leichte-Sprache-Bilder

Urlaubsregel in David

Arbeiten mit UMLed und Delphi

teischl.com Software Design & Services e.u. office@teischl.com

Was ich als Bürgermeister für Lübbecke tun möchte

Bauteilattribute als Sachdaten anzeigen

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Anleitung über den Umgang mit Schildern

ACDSee Pro 2. ACDSee Pro 2 Tutorials: Übertragung von Fotos (+ Datenbank) auf einen anderen Computer. Über Metadaten und die Datenbank

wochenbettbetreuung.ch V E R S I O N V O M

Java: Vererbung. Teil 3: super()

Umstellung einer bestehenden T-Online Mailadresse auf eine kostenlose T-Online Fre -Adresse

Fax einrichten auf Windows XP-PC

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Informationsblatt Induktionsbeweis

I Serverkalender in Thunderbird einrichten

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

Direktes Versenden von Listen, z.b. Die Liste der Personalkosten (zpkost)

Kleines Handbuch zur Fotogalerie der Pixel AG

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Tipps & Tricks im CRM

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

Hilfe zur Urlaubsplanung und Zeiterfassung

YouTube: Video-Untertitel übersetzen

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Import der Schülerdaten Sokrates Web

Nur für Partner die bereits einen Backoffice Zugang haben. Aber KEINEN Portal Zugang

Tipps & Tricks Neuerungen Nr. 5/ Externe Web-Shops im UniKat für Laborverbrauchsmaterial & Chemikalien

Windows 7: Neue Funktionen im praktischen Einsatz - Die neue Taskleiste nutzen

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

Arbeiten mit dem Outlook Add-In

INTERNET UND MMS MIT DEM QTEK2020 MARCO 28. MÄRZ 04

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Institut für Existenzgründungen und Unternehmensführung Wilfried Tönnis, M.A. Installationshandbuch

Das Persönliche Budget in verständlicher Sprache

Microblogging im TCC mit dem TCC Twitter

Daten-Synchronisation zwischen Mozilla Thunderbird (Lightning) / Mozilla Sunbird und dem ZDV Webmailer

Der Kalender im ipad

Keine Disketteneinreichung ab 1. Februar 2014

Bilder zum Upload verkleinern

Handbuch ZfEditor Stand

Professionelle Seminare im Bereich MS-Office

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Anleitung für Autoren auf sv-bofsheim.de

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

2. Speichern und öffnen

Tutorial/FAQ für die Benutzung der Webseite

e LEARNING Kurz-Anleitung zum Erstellen einer Sprechzeit

LinguLab GmbH. Bedienungsanleitung Allgemeine Definition

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

Stapelverarbeitung Teil 1

Anleitung Typo3-Extension - Raumbuchungssystem

Du hast hier die Möglichkeit Adressen zu erfassen, Lieferscheine & Rechnungen zu drucken und Deine Artikel zu verwalten.

Anmeldung boniup Portal bei bestehendem BackOffice

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

WinWerk. Prozess 6a Rabatt gemäss Vorjahresverbrauch. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

CAQ Software für Ihr Qualitätsmanagement. Ablauf für die Erfassung der Fehler in der Fertigung

Alle gehören dazu. Vorwort

Nie wieder eine Sitzung verpassen unser neuer Service für Sie!

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Handbuch ECDL 2003 Basic Modul 3: Textverarbeitung Dokument bearbeiten und speichern

Einfügen von Bildern innerhalb eines Beitrages

WPF Steuerelemente Listbox, ComboBox, ListView,

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Erste Schritte mit TeamSpeak 3

Anwendungsbeispiele Buchhaltung

Anleitung Umstellung auf neuen Mail Server

Anleitung: Ändern von Seiteninhalten und anlegen eines News Beitrags auf der Homepage des DAV Zorneding

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Das Modul Hilfsmittel ermöglicht den Anwender die Verwaltung der internen Nachrichten, Notizen, Kontakte, Aufgaben und Termine.

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Transkript:

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... (c) https://www.atlassian.com/git/tutorials/ 2

... jetzt geht es um Daten In JavaFX gibt es fertige "Funk-Datentypen" diese Datentypen können kommunizieren 3

Die "magische" Adressen-Tabelle Internetfund bei etlichen Teilnehmern kann alles: editieren, sortieren, suchen... und alle Änderungen werden gespeichert! Magie! 4 4

Key ändern in der TreeView ohne Magie! Einträge über ein Editfeld editierbar: Beim 2. Klick in ein Feld ein Editfenster öffnen Bei Enter Wert in die TreeView übernehmen Feld verbergen ggf. Details an veränderten Key anpassen 5 5

Aktualisieren der TreeView über EventHandler Achtung, direktes Editieren ist kritisch 6 6

Änderung in die TreeView übernehmen 7 7

... und alles nur in der GUI Die geänderten Werte werden nicht zurückgeschrieben ins Adressbuch! Das könnte man noch an das handleeditcommit anfügen Dann wäre auch der zweite Eintrag aktualisiert... ABER: Eintrag könnte verweigert werden, weil der Key nicht eindeutig ist. Und dann? Professionell geht man einen anderen Weg: Das MVC-Konzept 8 8

Veränderungen ins Adressbuch übernehmen direkte Umsetzung: Bei Ende des Editierens alten Eintrag im AddressBook finden und durch neuen ersetzen. Ziemlich aufwändig: Habe ich noch den alten Key zum Suchen? Ziemlich abenteuerlich Datenkonsistenzen!! MVC: Immer erst das AddressBook aktualisieren und dann die TreeView neu aufbauen Konzept Model-View-Control später mehr 9 9

Observer - Listener Zusammenhänge über Listener realisiert: Bestimmte Objekte können Events auslösen Andere Objekte können sich mit einem Listener bei dem Objekt für bestimmte Events registrieren (Abo) Tritt das Event auf, wird die entsprechende Methode des Listeners gerufen: Wenn Textfeld sich geändert hat, rufe die registrierte Methode (z.b. um die TreeView zu ändern) editfield.setonaction(a -> handleeditcommit(a)); 10 10

Das Observer-Pattern Stadardisiertes Event-Listener-Muster: Listener Registrieren (registerobserver Listener-Objekt vom Typ Observer) Registrierte Listener aufrufen (notifyobservers ruft die update-methoden aller registrierten Observer) ActionListener setonaction TextField anonym: (handleeditcommit) 11 11

Observable-Objekte Observables ermöglichen das Registrieren von Handlern (Listenern) Rufen die registrierten Handler ("notify") z.b. actionperformed() oder statechanged() Typische Observable-Objekte in Java sind GUI-Objekte das GUI selbst (MouseEvents) alle anderen Observer muss man selbst implementieren JavaFX erweitert das Observable-Muster auf beliebige Daten (-strukturen): Properties Observable Collections 12 12

Properties Java Bean-Attribut: privates Attribut getter und setter Property: Wrapper um ein Bean-Attribut getter und setter ("normal") mit "Kommunikations"-Möglichkeiten: Observable, Bindable setonchange bind Bean-Property Bean-Property 13 13

Java Bean ContactDetails 14 14

ContactDetails mit Properties : 15 15

Binden von Properties im Daten-"Modell" Im Konstruktor: Der Wert VollerName wird direkt an die anderen Properties "gebunden" Damit wirkt sich jede Änderung von Vor- oder Nachname direkt auf VollerName aus er wird synchronisiert. es gibt auch bindbidirectional 16 16

Binding-Test Nun sollte der VolleName sich immer aus den anderen Namensteilen ergeben: 17 17

Binding in einer anderen Klasse Methode liefert Property 18 18

Binden von Properties in der GUI In JavaFX sind alle Attribute von GUI-Elementen Properties! Nicht aufgefallen, weil getter und setter "normal" sind Binden der Größe eines Rectangle an die Fenstergröße 19 19

Binden von Properties im GUI 20 20

Binden von Properties zwischen GUI und "Modell" Binden von Properties in der GUI 21 21

Wichtige Binding-Anwendungen: Sehr häufig: Übernahme von Auswahlergebnis in ein anderes GUI-Element oder in das Datenmodell Aus Scribble kennen manche schon die Bindung an Combobox ColorPicker 22 22

Übertragung auf Listen und Tabellen? Im Prinzip braucht man Properties und DataBinding Aber: Bindung zwischen Editfeld und Collection-Element ist nicht dauerhaft hängt von der Selektion in der Collection ab Ausweg: Kluge Objekte, die jeweils die richtige Bindung herstellen: CellFactories Mehr dazu in der nächsten Woche! 23 23

... das war der Einstieg in Observables. Nächstes Mal kommen die Observable Collections 24 24

in der nähsten VL JavaFX Observable Collections Bidirektionales Binding Die Adressbuchtabelle ein beispiel. Als Übung (3 Wochen): Oberflächenelemente binden am besten anhand von scribble! Tabelle oder TreeView editierbar machen Terminkalender programmieren mit Binding Terminkalender und Adressbuch persistieren Chatfenster. 25