首先,我发现一些示例按照我想要的方式使用标准数组,但是我需要使用ArrayList,因为大小不受限制。并通过不同的方法添加内容。
我的问题是要让Arraylist内容显示并在其自己的行上显示。 使用我的代码,只显示最后一个内容。
注意:这不是实际的应用程序,它只是一个测试程序,因为我有填充方法。
PS,任何帮助都会被大大提升。我已经重置了这个过去2个小时。这是我到目前为止所做的工作。
import javax.swing.*;
import java.util.ArrayList;
import java.util.*;
public class fe
{
private static ArrayList<String> errorCache = new ArrayList<String>();
private static String details;
public fe()
{
}
public static void main(String[] args)
{
fillList();
showMessage();
}
private static void showMessage()
{
for (int i=0;i<errorCache.size();i++)
{
details = errorCache.get(i);
}
JOptionPane.showMessageDialog(null, details, "Printing results", JOptionPane.INFORMATION_MESSAGE);
}
private static void fillList()
{
errorCache.add("this");
errorCache.add("should");
errorCache.add("bee");
errorCache.add("on");
errorCache.add("its");
errorCache.add("own");
errorCache.add("line");
}
}
我得到了这个工作,以帮助我花了很多时间尝试这项工作。 最后的代码是其他任何有问题的人的结果。
import javax.swing.*;
import java.util.ArrayList;
import java.util.*;
public class fe
{
private static ArrayList<String> errorCache = new ArrayList<String>();
public fe()
{
}
public static void main(String[] args)
{
fillList();
showMessage();
}
private static void showMessage()
{
String details = "";
for (int i=0;i<errorCache.size();i++)
{
details += errorCache.get(i) + "\n";
}
JOptionPane.showMessageDialog(null, details, "Printing results", JOptionPane.INFORMATION_MESSAGE);
//Remimues way.
//StringBuilder builder = new StringBuilder("<html>");
//for (int i = 0; i < errorCache.size(); i++) {
//builder.append(errorCache.get(i));
//builder.append("<br>");
// }
//builder.append("</html>");
//JOptionPane.showMessageDialog
//(null, builder.toString(), "Printing results", JOptionPane.INFORMATION_MESSAGE);
}
private static void fillList()
{
errorCache.add("this");
errorCache.add("should");
errorCache.add("bee");
errorCache.add("on");
errorCache.add("its");
errorCache.add("own");
errorCache.add("line");
}
}
答案 0 :(得分:1)
您可以结合使用HTML进行格式化,将StringBuilder
结合使用以提高性能:
StringBuilder builder = new StringBuilder("<html>");
for (int i = 0; i < errorCache.size(); i++) {
builder.append(errorCache.get(i));
builder.append("<br>");
}
builder.append("</html>");
JOptionPane.showMessageDialog
(null, builder.toString(), "Printing results", JOptionPane.INFORMATION_MESSAGE);
答案 1 :(得分:0)
你的意思是这样吗?
private static void showMessage(){
String details = "";
for( int i=0; i < errorCache.size(); i++ ){
details += errorCache.get(i) + " ";
}
JOptionPane.showMessageDialog( null, details, "Printing results", JOptionPane.INFORMATION_MESSAGE );
}