在追加之前无法设置JTextArea的Text

时间:2014-02-26 23:34:37

标签: java append jtextarea settext

我在设置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");
   }

 }
}

1 个答案:

答案 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(...);
    }
});