gpt4 book ai didi

java - 如何从构造函数中设置 JavaFX 中 TextArea 的文本?

转载 作者:行者123 更新时间:2023-12-01 12:19:56 24 4
gpt4 key购买 nike

我想在 JavaFX 中从一开始就在 TextArea 中设置文本,我在构造函数中使用此代码:

public class Myclass implements Initializable{
@FXML TextArea txta;
@FXML Button btn;
String msg;
Myclass(){
msg="Hello World";
txta.setText(msg);//This line is my setter.
}
@Override
public void initialize(URL location, ResourceBundle resources) {
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
msg=msg+"\nHallo Again!!");
txta.setText(msg);
}
});
}

然后 FXML 不显示,但是当我对 setter 行进行注释时,FXML 正常显示。请帮忙,我该如何解决这个问题?

最佳答案

你的类是一个 Controller ,它不需要构造函数。所有的初始设置都可以在initialize方法中完成。您可以找到here基本教程。

您的文本区域 txta 将被正确初始化(这就是它具有 @FXML 注释的原因),因此这就足够了:

public class Myclass implements Initializable{

@FXML private TextArea txta;
@FXML private Button btn;
private String msg;

@Override
public void initialize(URL url, ResourceBundle rb) {

msg="Hello World";
txta.setText(msg);

btn.setOnAction(e->{
msg=msg+"\nHallo Again!!";
txta.setText(msg);
});
}
}

关于java - 如何从构造函数中设置 JavaFX 中 TextArea 的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26752443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com