Невозможно установить текст JTextArea перед добавлением

У меня возникли проблемы с установкой текста 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");
   }

 }
}

person elite_perry    schedule 26.02.2014    source источник


Ответы (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(...);
    }
});
person stuhlo    schedule 26.02.2014
comment
добавление getText() исправило это! - person elite_perry; 27.02.2014