JavaFX plusieurs Volets dans une scène?
Je suis en train de faire une application qui aura une date en haut (toujours automatiquement centré) et le contenu au fond qui ne va pas être aligné à n'importe quelle direction.
J'ai pensé que la meilleure façon de le faire serait d'avoir:
Pane normalLayout = new Pane();
StackPane centeredLayout = new Stackpane();
Label centeredText = new Label("I want this text centered!");
Button unorganizedButton = new Button("Press me");
centeredLayout.getChildren().add(centeredText);
normalLayout.getChildren().add(unorganizedButton);
Mais je ne peux pas faire quelque chose comme:
Scene myScene = new Scene(centeredLayout, normalLayout, 500, 500);
Window myWindow = new Window();
myWindow.setScene(myScene);
myWindow.show();
Alors, comment cela peut-il être fait? Comment peut-plusieurs volets existent sur la même scène?
Scene myScene = new Scene(new VBox(centeredLayout, normalLayout), 500, 500);
?Ainsi, une scène DOIT avoir un seul volet à un moment, mais ce volet peut avoir plusieurs volets à l'intérieur de celui-ci? Fait:
new VBox(centeredLayout, normalLayout)
le même que le fait de faire VBox myLayout = new VBox(); myLayout.getChildren().add(centeredLayout, normalLayout);
?1) Oui. 2) Oui.
OriginalL'auteur Hatefiend | 2015-10-26
Vous devez vous connecter pour publier un commentaire.
La Scène elle-même ne peut avoir qu'un racine Volet.
Donc, si vous souhaitez 2 volets de la Scène que vous devez 3.
Dans votre code, cela peut ressembler à ceci:
Selon la façon dont votre Application doit être relooké, vous devez choisir le Volet de droite implémentations.
Comme une petite Astuce pour se familiariser de pentecôte tous les Conteneurs de Disposition essayer le SceneBuilder Application. http://gluonhq.com/open-source/scene-builder/
Peut-être que ce lien va vous aider à comprendre comment layouting travaille en JavaFX:
http://docs.oracle.com/javafx/2/scenegraph/jfxpub-scenegraph.htm
https://docs.oracle.com/javafx/2/layout/builtin_layouts.htm
SceneBuilder produit pas de Code Java. Il produit FXML fichiers. Voir ici: docs.oracle.com/javafx/2/get_started/fxml_tutorial.htm au Cours de fxml vous pouvez créer votre scène graphique en "xml".
L'homme qui est une déception, car il aurait été agréable d'en apprendre un peu mieux. Je ne vois cependant comment il rend la compréhension de votre plan de construction plus facile. Donc, disons que j'ai commencé avec un BorderPane, et je voulais une Barre de Menu avec les éléments de Menu en haut, mais juste en dessous de cette et TOUJOURS dans le Top section de BorderPane, je voulais ajouter un bouton et le texte à côté d'elle. Comment je dis que je veux la barre de menu à droite ontop de mon bouton, comme il n'aurait aucun sens d'avoir une barre de menu à droite à côté d'un bouton, etc.
Jetez un Oeil à la AnchorPane son le plus simple LayoutContainer. Il vous dirais la barre de menu a un haut/gauche/droite d'Ancrage de 0.0. Vos boutons et le Texte, je l'envelopper dans une Vbox/Hbox et la VBox obtient un Ancrage Supérieure de la hauteur de la barre de menu.
Si une réponse a résolu votre problème, il est une bonne pratique de l'accepter. Il aide les futurs utilisateurs qui ont le même problème et sont à la recherche de solution.
OriginalL'auteur Marcel
Je vous suggère de créer une "racine"-Volet.
Dans votre cas, vous pouvez utiliser un BorderPane.
Exemple:
Ensuite il suffit d'appeler le constructeur avec le tout nouveau volet.
Plus:
Vous pourriez tout aussi bien définir de nouveaux volets.
OriginalL'auteur Yannick Rot