【发布时间】:2018-09-23 04:59:37
【问题描述】:
我正在尝试进行聊天,因此当我按下回车键或按下“发送”按钮时,文本字段的输入将进入 ListView。尽管代码确实很混乱,但它确实可以完成工作。
我的控制器代码如下:
public void initialize() {
sendButton.setDisable(true);
}
public void isChatEmpty() {
boolean isChatEmpty = textInput.getText().isEmpty();
sendButton.setDisable(isChatEmpty);
}
public void sendMessageOnClick(){
sendButton.setOnAction((e) -> {
String message = textInput.getText();
chatHistory.getItems().add("Sorin: " + message + "\n");
textInput.setText(null);
sendButton.setDisable(true);
});
}
public void sendMessageOnEnter(){
textInput.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.ENTER) {
String message = textInput.getText();
chatHistory.getItems().add("Sorin: " + message + "\n");
textInput.setText(null);
sendButton.setDisable(true);
System.out.print("test");
}
});
}
我知道它有效,因为我可以在 GUI 中看到它,但不知何故,我在我的“isChatEmpty”上获得了一个 Nullpointer,公平地说,我不知道为什么。
Caused by: java.lang.NullPointerException
at sample.Controller.isChatEmpty(Controller.java:29)
另外,有没有办法结合这两个 Lambdas 函数?
提前谢谢你!
【问题讨论】:
标签: java listview button javafx textinput