0% fanden dieses Dokument nützlich (0 Abstimmungen)
12 Ansichten32 Seiten

01 JavaFX Intro

JavaFX ist das Standard-UI-Framework für moderne Desktop-Anwendungen ab Java 7, das AWT und Swing ersetzt. Es ermöglicht die Definition von Benutzeroberflächen sowohl durch Code als auch durch FXML und bietet umfangreiche 2D- und 3D-Funktionalitäten sowie Hardwarebeschleunigung. Die Architektur umfasst einen Scene Graph, Java Public APIs, das Prism Rendering-System und das Glass Windowing Toolkit, das die Verbindung zur Betriebssystem-Ebene herstellt.

Hochgeladen von

bzb0z6c5m
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
12 Ansichten32 Seiten

01 JavaFX Intro

JavaFX ist das Standard-UI-Framework für moderne Desktop-Anwendungen ab Java 7, das AWT und Swing ersetzt. Es ermöglicht die Definition von Benutzeroberflächen sowohl durch Code als auch durch FXML und bietet umfangreiche 2D- und 3D-Funktionalitäten sowie Hardwarebeschleunigung. Die Architektur umfasst einen Scene Graph, Java Public APIs, das Prism Rendering-System und das Glass Windowing Toolkit, das die Verbindung zur Betriebssystem-Ebene herstellt.

Hochgeladen von

bzb0z6c5m
Copyright
© © All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Java FX

Einführung
Moderne Desktop-UI mit Java

III_POS_JAVA: Java FX per Code  2


Eigenschaften
 Ab Java 7 Standard UI-Framework
 Ersetzt Vorgängerversionen AWT & Swing
 Definition des UI
 mittels Code
 oder Markup-Language (FXML) möglich
 Scene Builder für UI-Design
 Layoutgestaltung mit Cascading Style Sheets (css)
 Umfangreiche 2D-Funktionalitäten (Schatten,
Transformationen, ….), auch 3D-Features
 Hardwarebeschleunigung (Prism) und neues Windowing-
Toolkit (Glass)
 Demo unter:
[Link]
mples/Ensemble/[Link]#SAMPLES
III_POS_JAVA: Java FX per Code  3
Oracle-Tutorials
 [Link]
html

III_POS_JAVA: Java FX per Code  4


Architektur von JavaFX

III_POS_JAVA: Java FX per Code  5


Architektur von JavaFX

Scene Graph: Startpunkt der Konstruktion einer JavaFX Applikation.


Hierarchischer Baum aus den visuellen Elementen.
Java Public APIs: Sammlung von Java FX APIs.
Prism: Führt Rendering Jobs aus. Benutzt Hardwarebeschleunigung wenn
möglich -> sonst Java2D (Software Renderer in JRE)
Quantum Toolkit: Verbindet Prism und das Glass Windowing Toolkit und macht
diese in der darüber liegenden Schicht verfügbar.
Glass Windowing Toolkit: Platformabhängige Schicht verbindet JavaFX mit
Betriebssystem-Ebene. (Zuständig für z.B. windows, timers, surfaces)
Anders als bei AWT läuft das Glass Toolkit am gleichen Thread wie die
JavaFX Applikation.
Media Engine: Ermöglicht das Abspielen digitaler Medien (MP3, AIFF, WAV, FLV).
Betriebssystemunabhängig! (Linux und ältere Windows-Systeme
erfordern eine Installation von Drittpartei-Paketen)
Web Component: UI Controls basierend auf dem Webkit.
Stellt Web-Viewer zur Verfügung. (Html-Code kann gerendert werden,
JavaScript kann ausgeführt werden…)

III_POS_JAVA: Java FX per Code  6


Analyse des Netbean-Standardprojekts

III_POS_JAVA: Java FX per Code  7


Grundstruktur der FX-Anwendung

III_POS_JAVA: Java FX per Code  8


Grundelemente
 MyFXApp
 leitet von Application ab
 start() wird überschrieben
 main() bedeutungslos
 Stage
 Eine Bühne (stage) wird beim Start an MyApp
übergeben (Parameter der start-Methode)
 Entspricht Hauptfenster der Anwendung und
enthält genau eine Scene
 Scene
 Definiert den Inhalt des Fensters ausgehend von
einem Wurzelelement (AnchorPane, StackPane,
GridPane, …)

III_POS_JAVA: Java FX per Code  9


Startmethode und Ergebnis

III_POS_JAVA: Java FX per Code  10


Stage -> Scene -> Grid

Node
HBox

Grid

III_POS_JAVA: Java FX per Code  11


Scene Graph

GridPane root

HBox table ImageView maxi

ImageView vase ImageView apple

III_POS_JAVA: Java FX per Code  12


Scene Layout

HBox

III_POS_JAVA: Java FX per Code  13


Source Code

HBox table = new


HBox(vase, apple);

Zellengrößen
definieren

III_POS_JAVA: Java FX per Code  14


Hierarchie Container-Elemente

 Group: Nur logische Zusammenfassung von anderen Nodes


 Region: Standard-Layouts, CSS-fähig
 Control: Spezielle Layouts, die auch Benutzereingaben verarbeiten,
css-fähig
III_POS_JAVA: Java FX per Code  15
FlowPane

 Anordnung der Controls nacheinander


 Horizontal oder vertikal
 Abstände zwischen den Elementen

III_POS_JAVA: Java FX per Code  16


Java FX – Hbox, VBox

 HBOX

 VBOX

III_POS_JAVA: Java FX per Code  17


VBox/HBox

 Anordnung nacheinander/untereinander ohne Umbruch (FlowPane)


 Abstände können angegeben werden
 setVgrow()/setHGrow() bestimmt, was mit dem restlichen Platz
geschieht

III_POS_JAVA: Java FX per Code  18


Java FX – BorderPane

 BorderPane

III_POS_JAVA: Java FX per Code  19


BorderPane

 Bis zu 5 Platzierungsmöglichkeiten

III_POS_JAVA: Java FX per Code  20


BorderPane - Beispiel

III_POS_JAVA: Java FX per Code  21


BorderPane - Ergebnis

 Margin für Titeltext und Text im Zentrum

III_POS_JAVA: Java FX per Code  22


Java FX – GridPane

 GridPane

III_POS_JAVA: Java FX per Code  23


GridPane

 Sehr flexibel aber auch komplex


 Verwendung bei SceneBuilder (später)

III_POS_JAVA: Java FX per Code  24


Java FX – AnchorPane

 AnchorPane

III_POS_JAVA: Java FX per Code  25


Java FX – StackPane

 StackPane

III_POS_JAVA: Java FX per Code  26


Java FX – TilePane

 TilePane

III_POS_JAVA: Java FX per Code  27


Beispiele für UI-Controls in JavaFX

III_POS_JAVA: Java FX per Code  28


Button mit Eventhandling

 [Link];
 Observer anmelden (registrieren) mit setOn…()
 setOnAction  ActionEventHandler
 Generische Implementierung
 Implementierung der Behandlungsroutine
 Erzeugung und Instanzierung einer anonymen inneren Klasse

 Alternativ: Lambda-Ausdruck

III_POS_JAVA: Java FX per Code  29


Vielfältige Ereignisse sind registrierbar

III_POS_JAVA: Java FX per Code  30


Hierarchie der Events

III_POS_JAVA: Java FX per Code  31


Oracle-Unterlagen zum Einsatz der Controls

 JavaFX UI Controls

Label Combo Box


Button Separator
Radio Button Slider
Toggle Button Progress Bar and Progress Indicator
Checkbox Hyperlink
Choice Box Tooltip
Text Field HTML Editor
Password Field Titled Pane and Accordion
Scroll Bar Menu
Scroll Pane Color Picker
List View Pagination Control
Table View Customization of UI Controls
Tree View

III_POS_JAVA: Java FX per Code  32

Das könnte Ihnen auch gefallen