黑马程序员技术交流社区
标题:
文件列表中遇到的问题
[打印本页]
作者:
﹑淼
时间:
2014-8-22 23:06
标题:
文件列表中遇到的问题
import java.awt.*;
import java.awt.event.*;
import java.io.File;
public class FileList {
//定义窗口
private Frame frame;
//定义单行文本
private TextField frame_tf;
// 跳转按钮
private Button frame_but;
// 多行文本
private TextArea frame_ta;
// 对话框
private Dialog dialog ;
//对话框的确定按钮
private Button dialog_but;
// 对话框上的文本标签
private Label dialog_lbl;
// 获取屏幕分辨率
private static final int WIDTH=Toolkit.getDefaultToolkit().getScreenSize().width;
private static final int HEIGHT=Toolkit.getDefaultToolkit().getScreenSize().height;
//文件列表的构造函数
public FileList(){
// 初始化的函数
init();
}
private void init(){
// 初始化窗口
frame=new Frame("文件列表");
// 设置窗口的位置和大小
frame.setBounds((WIDTH-600)/2, (HEIGHT-500)/2, 600, 500);
// 设置背景
frame.setBackground(new Color(202,232,237));
// 清空布局
frame.setLayout(null);
// 显示窗口
frame.setVisible(true);
// 初始化化单行文本
frame_tf=new TextField();
// 设置单行文本的位置和大小
frame_tf.setBounds(20,40, 400, 30);
// 将单行文本添加进窗口
frame.add(frame_tf);
// 初始化跳转按钮
frame_but=new Button("跳转");
frame_but.setBounds(440,40 ,70 ,30 );
frame.add(frame_but);
// 初始化多行文本
frame_ta=new TextArea();
frame_ta.setBounds(20,85, 550, 400);
frame.add(frame_ta);
// 初始化对话框
dialog=new Dialog(frame,"错误路径",true);
dialog.setBounds((WIDTH-600)/2, (HEIGHT-150)/2, 600, 150);
dialog.setLayout(null);
// 初始化按钮
dialog_but=new Button("确定");
dialog_but.setBounds(320, 90, 50, 25);
dialog.add(dialog_but);
// 处理事件
event();
}
// 事件的处理
private void event(){
// 窗口的关闭
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
// 按钮跳转
frame_but.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e){
getDir();
}
});
// 输入文本的键盘事件
frame_tf.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
// 判断按下的是不是回车键
int code=e.getKeyCode();
if(code==KeyEvent.VK_ENTER)
// 遍历目录
getDir();
}
});
// 定义对话框的关闭按钮
dialog.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dialog.setVisible(false);
}
});
// 定义对话框上的确定按钮
dialog_but.addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
dialog.setVisible(false);
}
});
}
//遍历目录
public void getDir(){
// 获取目录的路径
String path=frame_tf.getText();
if(path==null || "".equals(path))
return ;
// 将目录路径封装到File类中
File file=new File(path);
// 判断路径是否存在
if(!file.exists()){
// 初始化button
dialog_lbl=new Label ("输入的路径:"+path+",有误");
dialog_lbl.setBounds(120, 50, 300, 25);
dialog.add(dialog_lbl);
dialog.setVisible(true);
}else{
// 遍历目录
// 追加到多行文本的时候,清空多行文本
frame_ta.setText("");
// 返回封装路径下的全路径
File[] files=file.listFiles();
for(File f:files){
frame_ta.append(f+"\r\n");
}
}
}
}
复制代码
public class FileListTest {
public static void main (String[] args){
new FileList();
}
}
复制代码
作者:
﹑淼
时间:
2014-8-22 23:08
我多次输入错误路径,为甚么弹出的对话框中的内容不变
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2