java学习笔记(5)

上周,老师让我们仿照音乐播放器程序做一个小程序,要求能够将指定目录下的所有文件显示到列表框组件中,周二的时候,老师讲了要怎么显示找到那些文件并显示,让后让我们试着关联一下,可是我试了很多次,就是做不好,最后参考同学的方法,也只是做了一个能显示目录,文件还是显示不出来,我完了再看一看,做一做,如果实在不会再问老师吧。由于不太会,作业交迟了。老师,对不起。
import java.awt.BorderLayout;
import java.awt.Color;
import java.io.File;

import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class FileUtils {

private static final String music = "音乐";
private static final String VERSION = "Version 3.1.0";
public static String listDirectory(File dir) throws IllegalAccessException{
if(!dir.exists()){
throw new IllegalAccessException("目录" + dir + "不存在。");
}
if(!dir.isDirectory()){
throw new IllegalAccessException(dir + "不是目录");
}

String[] files = dir.list();
String m ="";
for(String a : files){
m=m+a+" ";}
return m;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame=new JFrame();
JPanel main_panel =new JPanel(new BorderLayout());//面板
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setLayout(null);
//设置组合框
String[] itme = {".png","ico","wav",".doc"};
JComboBox frm=new JComboBox(itme);
frm.setEnabled(true);
frm.setEditable(true);
frm.setMaximumRowCount(5);
frm.setBounds(230,30,130,25);
frame.setBounds(400,200,600,400);
frame.setVisible(true);

JTextArea main_text =new JTextArea();
main_text.setBackground(Color.gray);
JScrollPane z=new JScrollPane();
z.setViewportView(main_text);
main_text.setEnabled(false);
main_panel.add(frm,BorderLayout.NORTH);
main_panel.add(z,BorderLayout.CENTER);
frame.add(main_panel);

try {
String LLO = FileUtils.listDirectory(new File("E:soundPlayeraudio"));
main_text.setText(LLO);
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}


原文地址:https://www.cnblogs.com/abnry/p/5398149.html