我尝试以ArrayList
很好地展示InfoBox
。
ArrayList
包含在特定工作时间内编辑过的文件的名称(字符串),并自动创建。
如果我使用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
答案 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的地方。