【问题标题】:JavaFX Resizing TextField with WindowJavaFX 使用窗口调整 TextField 的大小
【发布时间】:2015-06-23 20:53:19
【问题描述】:

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

【问题讨论】:

    标签: javafx resize textfield


    【解决方案1】:

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

    这将使TextFieldHBox 改变其宽度时收缩/增长。

    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);
        }
    }
    

    输出:

    【讨论】:

    • 这对我有用。如何对滚动窗格内的文本区域执行相同操作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2015-02-11
    • 2016-08-07
    • 2014-07-04
    • 2020-06-07
    • 2017-03-25
    相关资源
    最近更新 更多