List 的 TextArea 输出
TextArea output from a List
我在修改 JTextArea(来自 JFrame)中的列表(称为 "cds")的输出时遇到问题......
当我 运行 displayButtonActionPerformed 时,它将数组中的所有对象放入 JTextArea。
但是,这些对象在一个大列表中是 st运行g 和逗号....
是否有任何代码可以删除逗号,并在每个对象之间创建一个换行符......
数组可以任意大,所以简单地做一个collections.size(0)然后/n然后collections.size(1)然后/n......不会工作。
我的代码如下:
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {
// sorts then displays entries in the array
Collections.sort(cds, String.CASE_INSENSITIVE_ORDER);
outputArea.setText(cds.toString());
}
有问题的行是:
outputArea.setText(cds.toString());
这就是它们在 JTextArea 中的样子:
[Abbey Road -- Beatles, Alive -- Doors, Gimme Shelter -- Rolling Stones, Hey Jude -- Beatles, Staying Alive -- Beegees]
它们在 JTextArea 中应该是这样的:
Abbey Road -- Beatles
Alive -- Doors
Gimme Shelter -- Rolling Stones
Hey Jude -- Beatles
Staying Alive -- Beegees
P.S.,我目前没有遇到删除括号的问题,但如果有人知道一个简单的方法,那也很棒。
使用append
代替setText
和循环
解决方案
for (Object o : cds){
outputArea.append(o + "\n");
}
输出
为了达到您想要的结果,您可以创建一个 class 或函数,将数组作为参数并以您喜欢的格式打印出其中的项目:
....
public static String printArray (String[] textArray) {
String output = "";
for (String s : textArray) {
output += s + '\n';
}
return output;
}
...
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {
// sorts then displays entries in the array
Collections.sort(cds, String.CASE_INSENSITIVE_ORDER);
outputArea.setText(printArray(cds)); //Change this line
}
添加与我展示的方法类似的方法后,更改 displayButtonActionPerformed()
方法中的最后一行,如图所示。
我在类似的例子中测试了printArray()
方法。
我在修改 JTextArea(来自 JFrame)中的列表(称为 "cds")的输出时遇到问题......
当我 运行 displayButtonActionPerformed 时,它将数组中的所有对象放入 JTextArea。
但是,这些对象在一个大列表中是 st运行g 和逗号.... 是否有任何代码可以删除逗号,并在每个对象之间创建一个换行符......
数组可以任意大,所以简单地做一个collections.size(0)然后/n然后collections.size(1)然后/n......不会工作。
我的代码如下:
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {
// sorts then displays entries in the array
Collections.sort(cds, String.CASE_INSENSITIVE_ORDER);
outputArea.setText(cds.toString());
}
有问题的行是:
outputArea.setText(cds.toString());
这就是它们在 JTextArea 中的样子:
[Abbey Road -- Beatles, Alive -- Doors, Gimme Shelter -- Rolling Stones, Hey Jude -- Beatles, Staying Alive -- Beegees]
它们在 JTextArea 中应该是这样的:
Abbey Road -- Beatles
Alive -- Doors
Gimme Shelter -- Rolling Stones
Hey Jude -- Beatles
Staying Alive -- Beegees
P.S.,我目前没有遇到删除括号的问题,但如果有人知道一个简单的方法,那也很棒。
使用append
代替setText
和循环
解决方案
for (Object o : cds){
outputArea.append(o + "\n");
}
输出
为了达到您想要的结果,您可以创建一个 class 或函数,将数组作为参数并以您喜欢的格式打印出其中的项目:
....
public static String printArray (String[] textArray) {
String output = "";
for (String s : textArray) {
output += s + '\n';
}
return output;
}
...
private void displayButtonActionPerformed(java.awt.event.ActionEvent evt) {
// sorts then displays entries in the array
Collections.sort(cds, String.CASE_INSENSITIVE_ORDER);
outputArea.setText(printArray(cds)); //Change this line
}
添加与我展示的方法类似的方法后,更改 displayButtonActionPerformed()
方法中的最后一行,如图所示。
我在类似的例子中测试了printArray()
方法。