Java 如何使文本区域填充屏幕的中心?
我正在使用JavaFx,我想创建一个文本区域来填充屏幕的中心。我试图创建一个边框窗格,但无论我在窗格中的何处设置它(顶部、底部、中心等),它始终位于屏幕顶部。我也无法让它调整列数的大小Java 如何使文本区域填充屏幕的中心?,java,javafx,Java,Javafx,我正在使用JavaFx,我想创建一个文本区域来填充屏幕的中心。我试图创建一个边框窗格,但无论我在窗格中的何处设置它(顶部、底部、中心等),它始终位于屏幕顶部。我也无法让它调整列数的大小 primaryStage.setTitle("Cauldron"); VBox root = new VBox(); Scene scene = new Scene(root, 1280, 720); BorderPane borderPane = new BorderPane()
primaryStage.setTitle("Cauldron");
VBox root = new VBox();
Scene scene = new Scene(root, 1280, 720);
BorderPane borderPane = new BorderPane();
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);
root.getChildren().add(borderPane);
primaryStage.setScene(scene);
primaryStage.show();
这是我的代码,文本区域填充边框窗格的中心。问题是边框窗格的大小没有超出其在
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
,可以指示它始终使用
VBox.setVgrow(borderPane, Priority.ALWAYS);
VBox
的用途是什么?为什么不把BorderPane
作为场景的根呢?我这么做是因为我是一个非常新的JavaFX。我甚至不知道边界窗格可能是场景的根源。这实际上解决了问题。非常感谢。如何结束此问题?任何父对象都可能是场景的根。看见