您的位置:首页 > 编程语言 > Java开发

Java第五次作业

2016-04-15 17:56 411 查看
本次作业代码如下

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.ScrollPane;
import java.io.File;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class FileUilt {

/**
* 列出指定目录下的所有文件和子目录的名称
* @throws IllegalAccessException
*
*/

public static void listDirectory(File dir) throws IllegalAccessException{
JFrame frm = new JFrame();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setVisible(true);
frm.setLayout(new BorderLayout());

//JScrollPane sp=new JScrollPane(tl);
// frm.add(sp);
//判断File对象dir是否存在,使用File类的exists()方法
if(!dir.exists()){
//如不存在,抛出异常
throw new IllegalAccessException("目录" + dir +"不存在");
}
//判断dir是否是目录,使用File类的isDirectory()方法
if(!dir.isDirectory()){
//如果dir不是目录,抛出异常
throw new IllegalArgumentException(dir + "不是目录");
}
//获得指定目录dir下的文件及子目录并输出(1.list();2.listFiles())
//使用list()方法实现
String[] fileName = dir.list();
for(String s :fileName){
// //System.out.println(dir + "\\"+ s);
// t1.append(dir + "\\" +s);
// t1.append("\n");
// t1.setEditable(false);
}
// System.out.println();
//使用listFiles()方法实现只列出目录下的所有文件名称
File[] files = dir.listFiles();
for(File file:files){
//如果是文件,则输出
if(file.isFile()){
System.out.println(file);
}
}
JLabel j1 = new JLabel("文件扫描");
JList t1 = new JList(files);
JScrollPane sp = new JScrollPane(t1);
frm.add(sp,BorderLayout.CENTER);
frm.add(j1,BorderLayout.NORTH);
frm.setBounds(700, 300, 300, 400);
t1.setForeground(new Color(140,171,226));
t1.setBackground(new Color(0,0,0));
t1.setSelectionBackground(new Color(87,49,134));
t1.setSelectionForeground(new Color(140,171,226));

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

try {
FileUilt.listDirectory(new File("D:\\soundPlayer"));
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

通过本次实践学习,初步掌握在GUI界面中输出文件名称的方法,以及对界面背景颜色的设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: