JTextArea附加和删除问题

时间:2018-04-05 03:34:41

标签: append jtextarea

我有一个jTextArea,它显示jTable中点击的项目。我已经有一个正在运行的代码,我可以将字符串显示到我的jTextArea中。但是,每当我尝试删除字符串时,我都会遇到问题。

到目前为止,下面是我从jTable中点击的项目中获取字符串值的代码:

c = jTable2.getModel().getValueAt(jTable2.convertRowIndexToModel(selectedRow), 1).toString(); // this will get the name of product from a table and store it into C variable

上面代码中的字符串将显示在我的jTextArea上,如下所示:

jTextArea1.append(c + "\n"); 

现在,每当我点击一个项目到我的jTable时,它将存储到c变量中,新项目将附加在我的jTextArea上,下一行。

我在jTextArea中的示例输出将是:

苹果
芒果

现在,我想删除该jTextArea中的特定字符串,我可以在当前代码中执行此操作。我使用这行代码来做到这一点:

 jTextArea1.setText(jTextArea1.getText().replaceAll(c, ""));

但是,每当我再次点击我的jTable来附加一个新项目时,它会被附加到空字符串旁边,样本输出如下:

//从这里开始是jTextArea


芒果
苹果

现在,在显示新文本之前我得到了空字符串。

总之,我理解我从未删除过jTextArea中的项目,但它所做的只是将字符串替换为空字符串。我的问题是我希望能够附加一个字符串,然后在需要的时候删除它而不影响其他附加字符串,并且没有空字符串。

有没有其他方法可以替代我的“replaceAll”代码行来实现这一目标?

1 个答案:

答案 0 :(得分:0)

您要求的是类似于编辑一行文本以删除中间的内容。当然,你通常不希望有差距。一种方法是将字符串逐字符复制,但规则是如果空格前面有空格则不会被复制(或者,如果空格出现并被复制,则只有字符将是复制的不是该实例中的空格)。

您可以通过读取每个字符串来复制一系列记录,检查其中是否只有空格,并且仅当该字符串不是空格时才将该字符串添加到第二个屏幕。