java - 如何在窗口中输出 ArrayList?

标签 java user-interface arraylist window

我尝试以一种很好的方式将 ArrayList 显示到 InfoBox 中。 ArrayList 包含在某个工作期间编辑并自动创建的文件的名称(字符串)。

如果我使用JOptionPane.showMessageDialog,我会得到一个无法阅读的超长窗口。 最好有一个漂亮的 ListView 。 我该怎么做?

受影响的代码部分:

//列表启动

列表输出 = new ArrayList();

//用数据填充列表

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

//输出

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

输出: Too long window

最佳答案

将您的输出捆绑到由javax.swing.JScrollPane装饰的javax.swing.JList中。

例如:

    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);

希望这有帮助!

关于java - 如何在窗口中输出 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41933006/

相关文章:

ScalaFX - 如何使用方法获取场景的标题

java - 如何在另一个 JPanel 之上创建精确的 JPanel 镜像

java - 制作没有标签的折线图

java - 将 ResultSet 转换为 2DArray/HashMap/Lists of Lists

java - Maven 在 "mvn site"期间抛出错误,但在 "mvn compile"/"mvn test"下工作正常

java - 如何正确地将共享库加载到 Eclipse 中

Java流: How to change only first element of stream?

java - java中的合并映射恢复插入顺序

java - Autowiring 在 junit spring mvc 5 中不起作用

Java-如何从列表中打印特定数组?