java - 如何使 TextArea 填充屏幕的中心?
问题描述
我正在使用 JavaFx,我想创建一个 TextArea 来填充屏幕的中心。我正在尝试使用 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);
}
}
如果您确实需要,您可以指示它始终为withVBox
提供可用的额外空间BorderPane
VBox.setVgrow(borderPane, Priority.ALWAYS);
推荐阅读
- php - 使用 uasort() php 按多个条件排序
- amazon-ec2 - Ansible : MODULE FAILURE\n请参阅 stdout/stderr 以了解确切的错误
- rust - 如何使用嵌入式 HAL 在 Rust 中配置 UART?
- ruby-on-rails - Algolia:如何在客户端使用secured_api_key?
- floating-point - 浮点溢出和不精确
- mysql - 修复 MySQL 服务器数据目录
- javascript - 如何使用离子应用程序将记录添加到 Firebase 集合?
- fullcalendar - 在 FileMaker 中使用 FullCalendar 完成任务时是否有任何指示?
- java - 检查 LocalDateTIme 在条件中是否为空
- assembly - armv7-m 裸机 ldr/str 符号内存