gpt4 book ai didi

java - 如何在另一个JavaFX类中的textarea上设置文本

转载 作者:行者123 更新时间:2023-11-30 07:51:23 24 4
gpt4 key购买 nike

我在另一个类的文本区域上设置文本时遇到问题。完成简单的脚本后,我想使用 InputStreamReader 更改另一个类中的文本区域。我遇到的错误是:java.lang.NullPointerException。我尝试过使用 get() 和 set() 方法,如果我在包含 InputStreamReader 的类中使用初始化值创建字符串,并尝试使用 textarea 在类中进行 sysout,它会显示该字符串,但如果我想 setText 则有一个 NPE 。SimpleStringProperty 是一个好的解决方案吗?

这是输出:

            Process process;
process = Runtime.getRuntime().exec(PATH_TO_SIKULI + " -r " + s.toString());
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));
String as=null;
stringBuilder = new StringBuilder(as);

while ((as = stdInput.readLine()) != null) {
stringBuilder=stringBuilder.append(as+"\n");
}
while ((as = stdError.readLine()) != null) {
stringBuilder=stringBuilder.append(as+"\n");
}
try {
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();

}
}

带有 TextArea 的类

公共(public)类 ResultController 实现可初始化{

@FXML
public TextArea resultTextArea;

@Override
public void initialize(URL location, ResourceBundle resources) {
Platform.runLater(new Runnable() {
@Override
public void run() {

}
});



}

最佳答案

抛出你的NullPointer:

String as=null; 
StringBuilder stringBuilder = new StringBuilder(as);

正如文档中所描述的,您不能将 null 传递给StringBuilder 构造函数。但这里的情况是这样的:as = null

java.lang.StringBuilder.StringBuilder(String str)

Constructs a string builder initialized to the contents of the specified string. The initial capacity of the string builder is 16 plus the length of the string argument.

Parameters: str the initial contents of the buffer. Throws: NullPointerException - if str is null

关于java - 如何在另一个JavaFX类中的textarea上设置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33303700/

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