Текстовая область заполняет центр панели границ.Проблема заключается в том, что область границ не выходит за пределы своего расчетного предпочтительного размера в VBox
.
. На самом деле VBox
, похоже, не выполняет никакой полезной цели: вы можете просто создать панель границкорень сцены:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Menu;
import javafx.scene.control.MenuBar;
import javafx.scene.control.TextArea;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class LayoutTest extends Application {
@Override
public void start(Stage primaryStage) {
BorderPane borderPane = new BorderPane();
Scene scene = new Scene(borderPane, 1280, 720);
MenuBar menuBar = new MenuBar();
Menu menuFile = new Menu("File");
Menu menuEdit = new Menu("Edit");
Menu menuView = new Menu("View");
Menu menuHelp = new Menu("Help");
menuBar.getMenus().addAll(menuFile,menuEdit,menuView,menuHelp);
borderPane.setTop(menuBar);
TextArea textArea = new TextArea();
borderPane.setCenter(textArea);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Если вам действительно нужен VBox
, вы можете указать ему всегда выделять дополнительное пространство для BorderPane
с помощью
VBox.setVgrow(borderPane, Priority.ALWAYS);