JavaFX使用Window调整TextField大小

noo*_*mer 4 resize javafx textfield

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

Ita*_*iha 11

您可以将HGROW文本字段设置为Priority.ALWAYS.

这将使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);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

在此输入图像描述

  • 那对我有用。如何在滚动窗格内的文本区域执行相同的操作? (2认同)