2017-01-22 1 views

Répondre

3

D'une manière générale, vous ajoutez le nœud racine d'un autre View avec la commande add:

add(SomeView::class) 

Vous pouvez également injecter un View et l'ajouter:

add est la même chose que de faire this += someView. Ce qui se passe ici, c'est que le framework trouve le nœud root de la vue et l'ajoute à la propriété children du nœud parent. Il connaît aussi des conteneurs spéciaux comme le BorderPane, il fait la bonne chose lorsque vous ajoutez quelque chose à l'intérieur du center constructeur, etc.

Toutefois, TabPane prend Tab instances, qui ne sont pas des nœuds. Vous devez ajouter l'onglet en utilisant le générateur tab et lui affecter du contenu. Les constructeurs sont assez intelligents pour comprendre que si vous faites add à l'intérieur d'un onglet, il doit assigner à la propriété content de l'onglet. Par conséquent, vous pouvez écrire:

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

Ou si vous avez déjà une instance du contenu que vous aimeriez attribuer:

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

La classe MyFirstTab doit être un View ou Fragment.