Also: Ein JavaFX-Verständnis-Problem...
1)
Warum sind HGAP und VGAP mit einander vertauscht? Bei HGAB entstehen senkrechte Lücken und bei VGAP entstehen waagrechte Lücken, was doch falsch ist?
Also als erstes einmal: Nein, das ist nicht falsch! HGap ist die "horizontale Lücke" zwischen den Elementen einer HBox, also eines sich horizontal ausrichtenden Layouts. VGap ist entsprechend der Platz zwischen den vertikalen angeordneten Elementen einer VBox.
Kurzum: Das ist absolut korrekt!
2)
Was ist mit dem registrieren eines Listeners gemeint?
Siehe
@Harry Kane - du übergibst (registrierst) an einem UI-Element (in JavaFX also einer von Node und/oder Control erbenden Klasse) eine anonyme Klasse oder ein Lambda, das auf bestimmte Aktionen auf dieser Klasse reagieren soll. Im gängigstem Fall sind das Action-, Mouse-, oder KeyEvents (oder Touch-, oder Scroll-, ...).
3)
Was ist mit abmelden/entfernen eines Listeners gemeint?
Offensichtlich das Gegenteil von 2.
4)
Für innere Klassen gibt es auch die Modifikatoren public, private, protected und package private. Was bedeuten diese Modifikatoren bei inneren Klassen (Mit Unterscheidung von statischen und nichtstatischen inneren Klassen)?
Ehrlich? Lies bitte die Doku, bzw. beschäftige dich etwas mit der Sprache (etwas, dass man tatsächlich immer - unabhängig der Sprache, die man lernen möchte - tun sollte!)
https://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html
https://docs.oracle.com/javase/tutorial/java/javaOO/innerclasses.html
...
5)
Wenn man innere Klassen verwenden will. Woran erkenne ich ob ich eine innere, lokale, statische oder anonyme Klassen verwenden soll?
Auch hier wieder: Siehe
@Harry Kane ! in vielen Fällen, wo man früher anonyme Klassen verwendet hat, werden heute Lambdas bevorzugt (speziell, wenn "funktionale Interfaces" - also Interfaces mit nur einer Methode - benötigt werden) - spezielles Beispiel sind hier wieder die weiter oben erwähnten Listener.
6)
Wie erkenne ich ob die eigentlichen Daten nicht von der GUI getrennt sind?
Relativ einfach: Wenn du dein Modell (deine Daten) in der selben Klasse, wie den Rest der GUI hälst, dann sind sie offensichtlich nicht getrennt. Wenn sie aber in einer separaten Klasse (bzw. Objekt davon) gehalten werden und nur "on-demand" an die GUI-Klasse übergeben werde, dann sind sie getrennt.
7)
Was ist gemeint mit “Der Thread BAUT ein Event”?
Keine Ahnung. Noch nie in so einer abstrusen Form gehört. Klingt - auch wenn du das gegenteilige gesagt hast - verdammt nach einer "Definition" aus einem Lehrstoff.
Grundsätzlich aber wird ein Event - da es ein Objekt ist - sicher immer von irgendeinem Thread erstellt ("gebaut") und wenn du nicht gerade selbst diese erzeugen musst, wird es sich hier wohl speziell um GUI-Events handeln. Diese werden natürlich auf dem Main-Thread einer GUI-Anwendung (oder auch UI-Thread) erstellt und "abgefeuert". Aber die Bezeichnung "gebaut" finde ich eher seltsam und würde deinen Lehrer mal fragen, was er darunter versteht. Und wenn er schon dabei ist, was denn der "Thread" ist. Ich meine damit: Eine Anwendung - egal ob sie eine GUI hat, oder nicht - läuft immer mind. auf einem Thread, damit ist die Formulierung bestenfalls Wischiwaschi, dämlich und irreführend!
Alles in allem: Es ist zwar sicher korrekt, dass wir dir bei Problemen helfen können, aber ehrlich gesagt denke ich, du hättest wenigstens einige Fragen - mit ein wenig Selbststudium verbunden - selbstständig lösen können.