我在设置JTextArea的文本时遇到了一些问题,然后附加它。我基本上只想清除文本,然后在其后附加一些其他文本。结果是文本没有清除并且正在附加文本。我提供了一些模拟代码来展示我基本上拥有的东西。
public Constructor(){
textArea = new JTextArea();
textArea.setText("Wow");
someBoolean = false;
someString = "Oh";
}
public someOtherMethod(){
if(!someBoolean){
if(textArea.equals("Wow"){
textArea.setText("");
} else {
textArea.append(someString+"\n");
}
}
}
答案 0 :(得分:1)
textArea
是类JTextArea
的对象。因此,您的条件textArea.equals("Wow")
不合适。您正在将JTextArea对象与String对象进行比较,并始终返回false
。如何比较JTextArea中的文本的正确方法如下:
if(textArea.getText().equals("Wow"))
顺便说一句,不要忘记在事件派发线程上调用setText(...)
:
SwingUtilities.invokeLater(new Runnable() {
public void run() {
textArea.setText(...);
}
});