使用组件JList完成用列表组件显示指定文件内容

import java.awt.*;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.swing.*;


public class liebiao extends JFrame {
private static final String music = "file";
private JFrame frame;
private JList fileList;

 

public liebiao() {

String[] FileNames = findFiles(music, null);
makeFrame(FileNames);
frame.pack();
frame.setVisible(true);
frame.setSize(250, 380);
frame.setLocation(550, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private String[] findFiles(String dirName, String suffix) {
File dir = new File(dirName);
if (dir.isDirectory()) {
String[] allFiles = dir.list();
if (suffix == null) {
return allFiles;
} else {
List<String> selected = new ArrayList<String>();
for (String filename : allFiles) {
if (filename.endsWith(suffix)) {
selected.add(filename);
}
}
return selected.toArray(new String[selected.size()]);
}
} else {
System.out.println("Error: " + dirName + " must be a directory");
return null;
}
}

private void makeFrame(String[] audioFiles) {

frame = new JFrame();
setDefaultCloseOperation(EXIT_ON_CLOSE);

JPanel contentPane = (JPanel) getContentPane();

 


contentPane.setLayout(new BorderLayout(8, 8));

JPanel leftPane = new JPanel();
{
leftPane.setLayout(new BorderLayout(8, 8));

fileList = new JList(audioFiles);
fileList.setForeground(new Color(140, 171, 226));
fileList.setBackground(new Color(0, 0, 0));
fileList.setSelectionBackground(new Color(87, 49, 134));
fileList.setSelectionForeground(new Color(140, 171, 226));
JScrollPane scrollPane = new JScrollPane(fileList);
scrollPane.setColumnHeaderView(new JLabel("files list"));
leftPane.add(scrollPane, BorderLayout.CENTER);
}
contentPane.add(leftPane, BorderLayout.CENTER);
frame.add(contentPane);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
new liebiao();

}

}