#java #javafx #menubar
#java #javafx #строка меню
Вопрос:
Привет, я хочу, чтобы моя строка меню находилась в верхней части окна, как и все программное обеспечение?
Это код:
@Override
public void start(Stage primaryStage) throws Exception{
Image image = new Image("GUI/Images/grass_block_side.png");
ImageView imageView = new ImageView(image);
imageView.setPreserveRatio(true);
imageView.setFitHeight(128);
FlowPane root = new FlowPane();
Button btnConvert = new Button("Convert=>");
MenuBar menuBar = new MenuBar();
menuBar.setUseSystemMenuBar(true);
Menu fichier = new Menu("Fichier");
menuBar.getMenus().add(fichier);
ListView<Material> ListViewMateriel = new ListView<>();
ObservableList<Material> items = FXCollections.observableArrayList ();
ListViewMateriel.setItems(items);
root.getChildren().addAll(imageView,menuBar,btnConvert,ListViewMateriel);
root.setPadding(new Insets(15,15,15,15));
root.setHgap(10);
root.setVgap(20);
Комментарии:
1. Он просто будет выложен, как и любой другой компонент. Если вы поместите его в a
FlowPane
, он просто будет течь вместе с другими элементами управления. Обычно лучше использоватьBorderPane
.2. .. или другими словами: узнайте о макетах 🙂
Ответ №1:
Если бы я мог порекомендовать использовать Scene Builder, там все делается с такой легкостью, что это смешно. Там вы могли бы привязать его к верхней, левой и правой части, и это помогло бы. Просто рекомендация
Комментарии:
1. scenebuilder или нет — главное понять , что делают макеты 😉
2. вы не ошибаетесь. Я чувствую, что легче понять, как макеты работают при сборке сцены, но для каждого есть свои 🙂