首页 > 解决方案 > 将字符串转换为 JTextArea

问题描述

我有一个字符串“abc”,我希望能够在名为absencesText 的JTextArea 中显示该字符串。但每次我尝试

"absencesText.setText(abc)"     
"List absencesText =absencesText.asList(abc);"
"absencesText.append(abc);", 

我明白了

不兼容的类型:java.util.List 无法转换为 java.lang.String

我猜这意味着 String--->TextArea 不正确。无论如何要将字符串显示到文本区域?完整代码如下。

 public void actionPerformed(ActionEvent Action){
       if(Action.getSource()== tagTextField){

      System.out.println("Clicked");
      String searchObject = tagTextField.getText();
      try (Stream<String> stream = Files.lines(Paths.get(searchObject + ".0.txt"))) {

        List<String> abc = stream.filter(str->str.startsWith("433"))
        .map(s->s.split("433")[1]).collect(Collectors.toList());

        System.out.println(abc); 
        // absencesText.append(abc);
        // List absencesText = absencesText.asList(abc);


    } catch (IOException e) {
      e.printStackTrace();
    }

       }//TagTextField

如果重要的话,我也有一个 ScrollPane。

标签: java

解决方案


您不能JTextArea使用字符串列表(即 的类型abc)设置 a 的内容。您可以像这样将数据附加到 JTextArea :

//Uncomment to clear the text of the JTextArea
//absencesText.setText("");
for (String string : abc)
  absencesText.append(string + "\n");

您还可以使用StringBuilder构建字符串,然后调用:

absencesText.setText(myStringBuilder.toString());

推荐阅读