JavaFX 8 - Der Einstieg in die Java-GUI Programmierung
4.6 (128 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
873 students enrolled
Wishlisted Wishlist

Please confirm that you want to add JavaFX 8 - Der Einstieg in die Java-GUI Programmierung to your Wishlist.

Add to Wishlist

JavaFX 8 - Der Einstieg in die Java-GUI Programmierung

Du hast es satt, langweilige Konsolenprogramme zu schreiben? Dann bist du hier genau richtig! JavaFX ist die Zukunft!
4.6 (128 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
873 students enrolled
Created by Jakob Schaal
Last updated 1/2016
German
Current price: $10 Original price: $70 Discount: 86% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 8 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Du lernst komplexe JavaFX-GUIs zu erstellen
  • Multithreading! Wie deine GUIs immer reagieren können, egal wie groß die Arbeit ist, die sie im Hintergrund verrichten.
  • Weitere Videos werden je nach Bedarf produziert. Diese bekommst du dann, nachdem du den Kurs einmal gekauft hast, kostenlos mit dazu!
View Curriculum
Requirements
  • Java-Basics werden vorausgesetzt
  • "Objektorientierung" sollte kein Fremdwort sein
Description

In diesem Kurs lernst du die Grundlagen der GUI Entwicklung in JavaFX kennen. Er ist sowohl für komplette GUI Neulinge, als auch für Swing/SWT Umsteiger geeignet.

JavaFX wird u.a. von Oracle momentan stark weiterentwickelt. Das bedeutet, dass du schon jetzt in das Gebiet einsteigen kannst und damit einen großen Vorteil gegenüber anderen hast, die sich noch mit veralteten Technologien herumschlagen. Investiere jetzt in deine Zukunft!

Der vorliegende Kurs beinhaltet:

  • Einführung in die GUI Entwicklung an sich
  • Grundlagen der Properties, die mächtige neue Datentypen von JavaFX sind
  • Alle GUI Elemente (Nodes und Panes) von JavaFX8u40 werden vorgestellt!
  • Ansprechende Diagramme können mit JavaFX erstellt werden. Wie dies funktioniert, wird ebenfalls gezeigt.
  • Der SceneBuilder ist ein einfaches Tool mit dem komplexe GUIs innerhalb von Minuten zusammengeklickt werden können. Eine Einführung darin erhältst du hier!
  • Um GUIs noch weiter aufzupeppen, kann in JavaFX die bekannte Stylesheet-Sprache CSS verwendet werden. Auch das wird dir hier gezeigt!
  • Eine erfolgreiche GUI Entwicklung setzt voraus, dass die grafische Benutzeroberfläche niemals hängen bleibt, das frustet sonst den User unnötig. Einige Taktiken, wie dies funktioniert, werden vorgestellt.

Aber damit nicht genug!

Dir fehlt etwas im Kurs? Schreib mir einfach hier auf Udemy oder per Mail (jakob.schaal@hotmail.com), wenn sich genug Leute für ein Thema, welches mit JavaFX zu tun hat, interessieren, dann werden neue Episoden aufgenommen und hochgeladen.

Und was, wenn mir der Kurs dann doch nicht gefällt?

Das glaube ich nicht. Und wenn doch, gibt es auf Udemy eine 30-tägige Geld-Zurück-Garantie! Sollte dir der Kurs wirklich nicht gefallen, dann mach bitte davon Gebrauch. Also, riskiers ruhig! Du hast nichts zu verlieren, investierst aber in deine eigene Zukunft!

Who is the target audience?
  • GUI Einsteiger
  • Umsteiger von Swing/SWT oder anderen GUI-Libs
Students Who Viewed This Course Also Viewed
Curriculum For This Course
108 Lectures
07:57:11
+
Einleitung
2 Lectures 09:26

Was lernen Sie von diesem Kurs? Welches Vorwissen wird benötigt?

Preview 05:22

Die Installation von e(fx)clipse und dem SceneBuilder

Preview 04:04
+
Die erste Anwendung
5 Lectures 19:49

In dieser Episode wird ein einfaches Fenster mit Text erzeugt.

Preview 06:29

Wie wird eine JavaFX Anwendung gestartet und korrekt wieder beendet?

Preview 07:04

Der JavaFX Application Thread wird automatisch von JavaFX gestertet und kümmert sich um das erhalten und weiterreichen von Events.

Preview 01:06

Jedes Programm kann mit Startparametern aufgerufen werden. Wie können wir diese in JavaFX verwenden?

Preview 02:58

Die Grundbausteine einer jeden JavaFX Anwendung.

Preview 02:12
+
Properties
6 Lectures 27:52

Properties sind Wrapper um primitive (+ String + Object) Datentype, auf welche wir Listener registrieren können.

Properties
04:38

Mit der Hilfe von NumberBindings können Properties aneinander geknüpft werden, wodurch sie permanent (oder bis sie unbindet werden) in Abhängigkeit zueinander stehen. Auf diese weiße lassen sich später verschiedene Komponenten (Controls) unserer GUI miteinander verknüpfen.

Number Bindings
04:02

Auch StringProperties können in Abhängigkeit zueinander stehen. Wie das funktioniert wird in dieser Episode gezeigt.

String Bindings
02:06

Es gibt 2 unterschiedliche Arten von Listenern in JavaFX. Was der unterschied zwischen den beiden ist wird hier erklärt.

InvalidationListener vs. ChangeListener
06:00

Die Observable List kann man sich am leichtesten als "List Propertie" vorstellen, also eine Liste die auf Änderungen reagieren kann und ihre eigenen Listener benachrichtigt, sobald sich etwas ändert.

Observable List
07:27

Bei der Benutzung von Properties ist es in JavaFX zwingend notwendig einige Konventionen einzuhalten, damit Tools auf diese korrekt reagieren können.

Propertie Konventionen
03:39
+
Controls
35 Lectures 02:47:12

Ein Label ist ein kleines Stückchen Text, welches man in der GUI anzeigen lassen kann.

Label
11:35

Der klassische Button (Knopf) wird hier vorgestellt.

Button
04:06

Bei der Checkbox handelt es sich um ein kleines Kästchen in welches der User entweder einen Hacken machen kann oder diesen wieder entfernen kann. Wie man die Checkbox richtig benutzt und welchen dritten Zustand diese Checkbox noch einnehmen kann ist Thema dieser Episode.

Checkbox
04:32

Der ToggleButton ist ein Button, der, ähnlich wie eine Checkbox, dauerhaft bei betätigung gedrückt bleibt bis der User ihn nochmal anklickt.

Toggle Button
03:26

Ähnliches Verhalten wie der Toggle Button, allerdings mit anderem Design. Wo der Unterschied zum Toggle Button noch liegt ist thema dieser Episode.

Radio Button
01:46

Besser bekannt als "drop down menu".

Choice Box
05:48

Wenn man über Controls mit der Maus hovert, dann will man manchmal zusätzliche Informationen sehen. Bei diesen Informationen handelt es sich um Tooltips.

Tooltip
03:07

Wie gibt der User eigentlich eine Zeile Text (Strings) in die GUI ein?

Text Field
04:34

Ein Passwort in ein Text Field zu tippen ist keine gute Idee, jeder, der sich in der Nähe des Bildschirms befindet kann sonst das Passwort mitlesen. Um dem abhilfe zu schaffen gibt es das Password Field.

Password Field
04:27

Manchmal möchte der User aber auch etwas mehr, als nur eine Zeile Text eingeben. Dafür ist die TextArea gedacht.

TextArea
03:26

Die ScrollBar ist die Control, die dafür sorgt, dass große Scenes auch in einem kleinen Fenster angezeigt werden können.

Scroll Bar
03:48

Wenn man nicht nur in eine Richtung scrollen will, sondern in beide dann benutzt man die ScrollPane.

Scroll Pane
05:09

Vorallem für Zahleneingaben in einem gewissen Intervall sind Schieberegler sehr interessant. Solche Schieberegler heißen "Slider".

Slider
05:45

Die ComboBox ist der Zusammenschluss von TextField und ChoiceBox.

Combo Box
02:28

Vorallem bei Ladezeiten sollte man den User immer darüber informieren wie viel % denn schon berechnet wurden. Dies ist zum Beispiel mit einem Ladebalken möglich. Dieser Ladebalken heißt in JavaFX "ProgressBar".

Progress Bar
05:20

Manchmal ist kein Platz für einen Ladebalken, dann ist ein ProgressIndicator besser geeignet.

Progress Indicator
01:08

Hyperlinks sind letztendlich einfache Buttons in Textform. Diese können zum Beispiel eine Website öffnen, aber auch jede andere denkbare Funktion ist möglich.

Hyperlink
04:09

Für das visuelle Unterteilen der GUI sind Separators bestens geeignet.

Separator
02:59

Um mehrere Controls zu gruppieren kann die Titled Pane benutzt werden.

Titled Pane
03:49

Das Accordion ist ein Zusammenschluss mehrerer Titled Panes von denen immer nur eine ausgeklappt sein kann.

Accordion
01:49

Wie sind eigentlich die Menüs am oberen Ende einer GUI realisiert? Das zeige ich in dieser Episode.

Menu
06:18

Mithilfe der ListView können Observable Lists grafisch dargestellt werden.

List View
09:17

Cell Factorys können für ListViews verwendet werden um festzulegen wie sich die einzelnen Einträge verhalten sollen.

CellFactory
05:23

Reichen einem die vorimplementierten CellFactorys nicht so kann man auch komplett neue programmieren.

Eigene CellFactory
12:16

ListViews sind eindimensional. Das reicht nicht immer! Manchmal braucht man Tabellen. Dafür gibt es die TableViews.

Table View
13:49

Das klassische Beispiel einer TreeView ist der PackageExplorer links in Eclipse.

Tree View
03:32

Um mehrere Buttons zu gruppieren kann man zum Beispiel die ButtonBar benutzen.

ButtonBar
04:45

Will man mehrere Tabs, so wie im Browser verwenden dann braucht man die TabPane.

TabPane
04:52

In einer Splitpane können mehrere Controls aufbewahrt werden und der User ist dann in der Lage die einzelnen Teilabschnitte selbst zu vergrößern oder zu verkleinern.

SplitPane
03:22

Beim Spinner handelt es sich um eine TextBox, welche für Zahlen gedacht ist. Mit 2 kleinen Buttons rechts kann diese Zahl dann erhöht bzw. verringert werden.

Spinner
02:35

In der ToolBar können mehrere Controls platziert werden. Meist ist diese unterhalb eines Menüs zu sehen.

ToolBar
02:18

Über die Pagination können viele Seiten innerhalb der GUI realisiert werden.

Pagination
05:56

Beim HTMLEditor handelt es sich um eine sehr umfangreiche Control, welche es dem User erlaubt komplett gestylten HTML Text zu entwerfen.

HTML Editor
02:50

Der ColorPicker lässt den User eine beliebige Farbe wählen welche dann im Programm benutzt werden kann.

Color Picker
03:01

Mithilfe des FileChoosers lassen sich Dateien finden, speichern und bearbeiten.

File Chooser
03:47
+
Layoutcontainer
11 Lectures 59:04

HBox = Horizontal

VBox = Vertikal

HBox und VBox
03:40

Die FlowPane geht mit den Controls so um, als handle es sich bei ihnen um Text.

FlowPane
00:42

Will man aber echte TextNodes verarbeiten, dann ist die TextFlow der FlowPane überlegen.

TextFlow
01:24

Will man Nodes immer relativ zu einer der 4 Ecken der GUI positionieren dann ist die AnchorPane dafür gut geeignet.

AnchorPane
04:01

Die BorderPane ist vermutlich die wichtigste Pane in ganz JavaFX, da sie das Grundgerüst der meisten GUIs bildet.

BorderPane
06:20

Die TilePane verhält sich zunächst genau wie die FlowPane, allerdings mit dem Unterschied, dass jede Zelle immer gleich Breit und Hoch ist.

TilePane
02:41

Will man Controls in einem unsichtbaren Gitter positionieren so wählt man die GridPane.

GridPane
06:45

Die StackPane ist gut dazu geeignet Controls "übereinander" zu stapeln.

StackPane
13:30

Zum anzeigen einer Nachricht in einem neuen Fenster wird in der Regel die DialogPane verwendet.

DialogPane
07:19

Unmanaged Nodes sind Nodes, die vom Layoutcontainer ignoriert werden.

Unmanaged Nodes
04:45

Reichen die bereitgestellten Layoutcontainer nicht? Dann mach doch einfach einen eigenen!

Eigener Layoutcontainer
07:57
+
Charts
9 Lectures 28:29

Das klassische Tortendiagramm.

PieChart
03:18

Wenn man es mit Daten zu tun hat die sich in Echtzeit ändern, dann kann man dies auch mit den Charts in JavaFX realisieren!

Chart dynamisch aktualisieren
05:10

Der klassiche Aktienverlauf kann mit LineCharts angezeigt werden.

LineChart
05:30

Wie die LineChart, jedoch ist die Fläche unterhalb der Linie gefüllt.

AreaChart
01:20

Die Flächen der AreaChart werden nun gestapelt dargestellt.

StackedAreaChart
01:48

Das klassische Balkendiagramm

BarChart
05:24

Kombination aus StackedAreaChart und BarChart

StackedBarChart
01:33

Wenn man Messdaten in Form von 2 Dimensionalen Werten hat, so kann die ScatterChart benutzt werden.

ScatterChart
03:23

Wie die ScatterChart, allerdings haben die Messwerte jetzt noch unterschiedliche größen.

BubbleChart
01:03
+
SceneBuilder
3 Lectures 19:56

Der SceneBuilder erlaubt es GUIs sehr schnell via "Drag & Drop" zusammenzuklicken.

Einführung in den SceneBuilder und FXML
07:37

Wenn man den SceneBuilder benutzt, dann kann man die Nodes nicht ohne zusätzliche Einstellungen im SceneBuilder selbst ansprechen (zumindest nicht ohne sich das Leben unnötig komplex zu machen). In dieser Episode wird gezeigt wie ihr trozdem auf Buttonklicks reagieren könnt.

Controller
03:56

In dieser Episode wird anhand eines einfachen Anwendungsbeispiels ein Taschenrechner mithilfe des SceneBuilders gebaut.

Taschenrechner
08:23
+
CSS
7 Lectures 25:48

Will man seiner GUI einen besonderen Style geben so kann man dies über die bekannte Sprache CSS machen.

Einführungsbeispiel
08:49

Type-Selektor, Styleklassen und IDs

Selektoren
04:37

Selektoren können verknüpft werden um so komplexere Bedingungen zu formulieren und nur gezielte Notes anzusprechen.

Selektoren verknüpfen
04:25

Pseudoklassen beschreiben besonderes States der Nodes, wie ein Hover oder ein Klick.

Pseudoklassen
02:40

Mit einem einfachen Befehl lässt sich das Grunddesign von JavaFX grundlegend ändern.

Default Stylesheets
00:42

In der Root können zusätzliche Attribute gespeichert und festgelegt werden um so die ganze GUI von diesen Attributen abhängig zu machen und das Look and Feel über einfache Änderungen dieser Attribute grundlegend zu verändern.

.root
02:44

Mit CSS kann man dafür sorgen, dass der promptText innerhalb eines TextFields immer angezeigt wird, solange noch nichts eingetippt wurde.

Text Field prompt Text immer anzeigen lassen
01:51
+
Multithreading
5 Lectures 18:14

In dieser Episode wird nochmal das klassiche mutlithreading gezeigt und die Motivation geschildert, warum Multithreading in GUI Entwicklungen zwingend notwendig ist.

Threads
04:05

Ein Task ist ein besser überwachbares Runnable, welches allerdings nur einmal ausgeführt werden kann.

Task
07:48

Genau wie der Task, kann aber mehrfach ausgeführt werden.

Service
02:32

Die Progress Bar ist bestens geeignet um den Fortschritt eines Services anzuzeigen.

Progress Bar an Service binden
01:16

Beim ScheduledService handelt es sich um einen Service der, einmal gestartet, sich immer wieder von alleine selbst startet.

ScheduledService
02:33
+
Ende
1 Lecture 01:39

Das Ende der Ursprünglichen Serie. Aber vergesst nicht! Es geht weiter! Meldet euer Feedback hier auf Udemy oder per mail an jakob.schaal@hotmail.com

Abschluss
01:39
4 More Sections
About the Instructor
Jakob Schaal
4.6 Average rating
475 Reviews
2,594 Students
2 Courses
Java Profi

Halli Hallo, seit über 5 Jahren erstelle ich auf Youtube Tutorialvideos übers Programmieren und Mathematik. In dieser Zeit habe ich eine Menge über Didaktik gelernt. Es ist einer meiner innigsten Wünsche, Menschen komplexes Wissen in einer einfachen Sprache zu vermitteln. Dies habe ich wohl meistens geschafft, über 16.000 Abonnenten und über 3 Millionen Videoaufrufe sprechen für sich.

Ich habe den Bachelor der Medieninformatik erfolgreich mit einer 1,0 Thesis bestanden und bin aktuell im Master Studiengang. Auch während des Studiums war ich bereits als offizieller Tutor in Pflichtfächern als Lehrkraft tätig. Neben meinem Studium bin ich momentan Spieleentwickler. Für diesen Job ist es unter anderem wichtig, funktionierende GUIs für interne Tools zu erschaffen, damit diese in der Produktion verwendet werden können.