我正在使用聊天应用程序,到目前为止,一切正常,除了我不能在视图中写入客户端从服务器检索到的文本,但可以将其打印出来。
那是我得到的错误:
Exception in thread "Thread-6" java.lang.NullPointerException
at com.terkea/com.terkea.controller.ClientController.lambda$createClient$1(ClientController.java:77)
at java.base/java.lang.Thread.run(Thread.java:835)
第77行对应于此代码行
muieDragnea.appendText(input);
我还要提及的是,如果删除它,它将在控制台中打印出服务器发出的消息,如果不是同时打印,则视图中的打印和写入都会失败。
这是我应该负责的功能:
@FXML
public TextArea muieDragnea;
@FXML
private void createClient(){
try {
socket = new Socket("localhost", portNumber);
DataInputStream in = new DataInputStream(socket.getInputStream());
new Thread(()->{
while(!socket.isClosed()){
try {
if (in.available() > 0){
String input = in.readUTF();
System.out.println(getUserName() + " > " + input);
muieDragnea.appendText(input);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();
} catch (IOException e) {
e.printStackTrace();
}
}