JAVAFX生成动态文本区域大小

JAVAFX生成动态文本区域大小,javafx,Javafx,我正在使用JAVAFX制作聊天应用程序。消息显示在textArea中,但textArea的大小始终相同。如何使textArea与文本量完全匹配?TNX以下代码正是您想要的 public class Main extends Application { @Override public void start(Stage primaryStage) { try { AnchorPane root = new AnchorPane();

我正在使用JAVAFX制作聊天应用程序。消息显示在textArea中,但textArea的大小始终相同。如何使textArea与文本量完全匹配?TNX

以下代码正是您想要的

public class Main extends Application {
    @Override
    public void start(Stage primaryStage) {
        try {

        AnchorPane root = new AnchorPane();
        Scene scene = new Scene(root,400,400);
        scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());


        TextArea ta=new TextArea(); 
        ta.addEventHandler(KeyEvent.KEY_RELEASED, new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent event) {
                 // your algorithm to change height
                 ta.setPrefHeight(ta.getPrefHeight()+10); 
            }
        });
        root.getChildren().add(ta);

        primaryStage.setScene(scene);
        primaryStage.show();

    } catch(Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
public类主扩展应用程序{
@凌驾
公共无效开始(阶段primaryStage){
试一试{
锚烷根=新锚烷();
场景=新场景(根,400400);
scene.getStylesheets().add(getClass().getResource(“application.css”).toExternalForm());
TextArea ta=新TextArea();
ta.addEventHandler(KeyEvent.KEY_已发布,新的EventHandler(){
@凌驾
公共无效句柄(KeyEvent事件){
//更改高度的算法
ta.setPrefHeight(ta.getPrefHeight()+10);
}
});
root.getChildren().add(ta);
初级阶段。场景(场景);
primaryStage.show();
}捕获(例外e){
e、 printStackTrace();
}
}
公共静态void main(字符串[]args){
发射(args);
}