【问题标题】:Cannot setText of JTextArea before appending在追加之前无法设置 JTextArea 的文本
【发布时间】:2014-03-30 03:18:13
【问题描述】:

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

 }
}

【问题讨论】:

    标签: java append jtextarea settext


    【解决方案1】:

    textAreaJTextArea 类的对象。因此,您的条件textArea.equals("Wow") 不合适。您正在将 JTextArea 对象与始终返回 false 的字符串对象进行比较。如何比较 JTextArea 中的文本的正确方法如下:

    if(textArea.getText().equals("Wow"))
    

    顺便说一句,不要忘记在事件调度线程上调用setText(...)

    SwingUtilities.invokeLater(new Runnable() {
        public void run() {
            textArea.setText(...);
        }
    });
    

    【讨论】:

    • 添加 getText() 修复它!
    猜你喜欢
    • 2012-10-14
    • 2015-03-27
    • 2012-03-01
    • 2015-10-08
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多