我无法清除 JTextArea,如何清除 JTextArea?
I cannot clear my JTextArea, how can I clear the JTextArea?
这是虚拟治疗师的原型,主要用于Java练习目的。我已经尝试清除此 JTextArea
2 天了。
我已经清理并重建了一些其他障碍,但我不知道该尝试什么。 setEnabled()
被编码掉了,因为我只是用不同的方法打开和关闭它。除了清除按钮以外的所有东西都可以正常工作。使用 JTextField
输入按 enter 后,我在文本区域中得到响应。但它就是不会清除。
public void actionPerformed(ActionEvent event)
{
String inp = event.toString(); //this is input in a JTextField
if(inp.contains("sad") || inp.contains("lonely"))
{
txtArea.setText(response1);
}else if(inp.contains(""))
{
txtArea.setText(response2);
}
else if(event.getSource() == clear) //clear is a button
{
//clear.setEnabled(true);
txtArea.setText(""); //I've tried selectAll(), replaceSelection()
}
}
据我在您的代码中看到的情况,这可能有助于解决明显的问题。在您的代码中,由于条件(包含空字符串)始终为真之后的 else,因此永远无法达到清除的 if 分支。我把它移到了前面 - 所以它可以到达。
我不能从你发布的代码中确定,但是 event.toString() 看起来也很可疑,最后一个(在下面更改的代码中)条件总是正确的。
//this looks odd/suspicious to me too!
String inp = event.toString(); //???!!! this is input in a JTextField
/* rather something like
* if(event.getSource() instanceof JTextField){
* inp = ((JTextField)event.getSource()).getText();
* }
*/
if(event.getSource() == clear) { //clear is a button
//clear.setEnabled(true);
txtArea.setText(""); //I've tried selectAll(), replaceSelection()
} else if(inp.contains("sad") || inp.contains("lonely")) {
txtArea.setText(response1);
} else if(inp.contains("")) { //??? always true!! rather: inp.equals("") or inp.isEmpty() ...
txtArea.setText(response2);
}
这是虚拟治疗师的原型,主要用于Java练习目的。我已经尝试清除此 JTextArea
2 天了。
我已经清理并重建了一些其他障碍,但我不知道该尝试什么。 setEnabled()
被编码掉了,因为我只是用不同的方法打开和关闭它。除了清除按钮以外的所有东西都可以正常工作。使用 JTextField
输入按 enter 后,我在文本区域中得到响应。但它就是不会清除。
public void actionPerformed(ActionEvent event)
{
String inp = event.toString(); //this is input in a JTextField
if(inp.contains("sad") || inp.contains("lonely"))
{
txtArea.setText(response1);
}else if(inp.contains(""))
{
txtArea.setText(response2);
}
else if(event.getSource() == clear) //clear is a button
{
//clear.setEnabled(true);
txtArea.setText(""); //I've tried selectAll(), replaceSelection()
}
}
据我在您的代码中看到的情况,这可能有助于解决明显的问题。在您的代码中,由于条件(包含空字符串)始终为真之后的 else,因此永远无法达到清除的 if 分支。我把它移到了前面 - 所以它可以到达。
我不能从你发布的代码中确定,但是 event.toString() 看起来也很可疑,最后一个(在下面更改的代码中)条件总是正确的。
//this looks odd/suspicious to me too!
String inp = event.toString(); //???!!! this is input in a JTextField
/* rather something like
* if(event.getSource() instanceof JTextField){
* inp = ((JTextField)event.getSource()).getText();
* }
*/
if(event.getSource() == clear) { //clear is a button
//clear.setEnabled(true);
txtArea.setText(""); //I've tried selectAll(), replaceSelection()
} else if(inp.contains("sad") || inp.contains("lonely")) {
txtArea.setText(response1);
} else if(inp.contains("")) { //??? always true!! rather: inp.equals("") or inp.isEmpty() ...
txtArea.setText(response2);
}