JavaFX使用窗口调整文本字段大小

JavaFX使用窗口调整文本字段大小,javafx,resize,textfield,Javafx,Resize,Textfield,在JavaFX中,如何在hbox(BorderPane布局)中创建文本字段,并在用户调整窗口大小时调整其宽度/长度?您可以将文本字段的HGROW设置为优先级。始终 这将使TextField在HBox改变其宽度时收缩/增大 MCVE: import javafx.application.Application; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import j

在JavaFX中,如何在hbox(BorderPane布局)中创建文本字段,并在用户调整窗口大小时调整其宽度/长度?

您可以将文本字段的
HGROW
设置为
优先级。始终

这将使
TextField
HBox
改变其宽度时收缩/增大

MCVE:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        TextField textField = new TextField();

        HBox container  = new HBox(textField);
        container.setAlignment(Pos.CENTER);
        container.setPadding(new Insets(10));

        // Set Hgrow for TextField
        HBox.setHgrow(textField, Priority.ALWAYS);

        BorderPane pane = new BorderPane();
        pane.setCenter(container);
        Scene scene = new Scene(pane, 150, 150);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}
输出:

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.stage.Stage;

public class Main extends Application {

    @Override
    public void start(Stage primaryStage) throws Exception {
        TextField textField = new TextField();

        HBox container  = new HBox(textField);
        container.setAlignment(Pos.CENTER);
        container.setPadding(new Insets(10));

        // Set Hgrow for TextField
        HBox.setHgrow(textField, Priority.ALWAYS);

        BorderPane pane = new BorderPane();
        pane.setCenter(container);
        Scene scene = new Scene(pane, 150, 150);
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

这对我很有效。如何对滚动窗格中的文本区域执行相同的操作?