作业5

使用组件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();

}

}

posted @ 2016-04-17 20:43  14软件G2班21宋江涛  阅读(99)  评论(0编辑  收藏  举报