java - 将字符串转换为 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。
解决方案
您不能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());
推荐阅读
- javascript - 禁用时如何更改material-ui滑块拇指样式
- php - 如何进行代码重构以减少 laravel 中的类似代码?
- angular - 502 Bad Gateway on Angular App 部署在 K8 集群上
- laravel - 在播种机 Laravel 中调用未定义的方法
- firebase - uid 上的 Firestore 规则因未知原因而不起作用
- c++ - 如何保存数据,用户指定
- azure - 在 Azure Blob 存储(或其他服务)中加载外部数据
- flutter - 如何在颤振中使用自定义小部件
- aframe - 相当于 A-Frame 中的“检查模式”
- python - Python:检查数组字典依赖关系并检查它是否是循环的