2017-01-22 2 views

Antwort

3

Auf einer allgemeinen Basis Sie den Wurzelknoten von einem anderen View mit dem add Befehl hinzufügen:

add(SomeView::class) 

Sie können auch eine View injizieren und fügen Sie es:

val someView: SomeView by inject() 

override val root: borderpane { 
    center { 
     add(someView) 
    } 
} 

add ist das gleiche wie tun this += someView. Was passiert, ist, dass das Framework den Knoten root der Ansicht findet und an die Eigenschaft children des übergeordneten Knotens anfügt. Er weiß auch über spezielle Behälter wie die BorderPane, so tut es das Richtige ist, wenn Sie etwas in der center Bauer usw.

Die TabPane jedoch hinzufügen, nimmt Tab Instanzen, die keine Knoten sind. Sie müssen den Tab mit dem Builder tab hinzufügen und ihm einige Inhalte zuweisen. Die Erbauer sind klug genug zu verstehen, dass, wenn Sie add innerhalb eines Tabs tun, sollte es der content Eigenschaft des Tab zuweisen. Daher können Sie schreiben:

tab("My First Tab") { 
    add(MyFirstTab::class) 
} 

Oder wenn Sie bereits eine Instanz des Inhalts haben würden Sie zuweisen möchten:

tab("My First Tab") { 
    add(myFirstTab) 
} 

Die MyFirstTab Klasse ein View oder Fragment sein muss.

Verwandte Themen