如何在Window中输出ArrayList?

时间:2017-01-30 09:55:28

标签: java user-interface arraylist window

我尝试以ArrayList很好地展示InfoBoxArrayList包含在特定工作时间内编辑过的文件的名称(字符串),并自动创建。

如果我使用JOptionPane.showMessageDialog,我会得到一个无法阅读的超长窗口。 有一个很好的列表视图会更好。 我该怎么做?

受影响的部分代码:

//列表启动

List output = new ArrayList();

//包含数据的FIll列表

for (String fileOrFilderName : changedFilesAndFolders) { 
    output.add(fileOrFilderName);
}

//输出

JOptionPane.showMessageDialog(null, output, "Edited or added files",
                   JOptionPane.INFORMATION_MESSAGE);

输出: Too long window

2 个答案:

答案 0 :(得分:2)

将您的output捆绑到由javax.swing.JList装饰的javax.swing.JScrollPane

例如:

    List<String> output = new ArrayList<>();

    //FIll List with data
    for (String fileOrFilderName : changedFilesAndFolders) {
        output.add(fileOrFilderName);
    }

    //Output

    JList<String> list = new JList<>(new Vector<>(output));

    JOptionPane.showMessageDialog(null, new JScrollPane(list), "Edited or added files", JOptionPane.INFORMATION_MESSAGE);

希望这有帮助!

答案 1 :(得分:0)

@Benjamin Maier,您可以在JOptionPane中添加任何JComponent。所以你要做的是将JScrollpane添加到包含JList的地方。