GUI----文件管理器----完整

来源:互联网 发布:自动发卡对接淘宝 编辑:程序博客网 时间:2024/06/10 18:53
import java.awt.*;import java.awt.event.*;import java.io.File;/** * Created by lenovo on 2017/9/13. */public class MyWindowDemo {    private Frame f;//框架    private TextField tf;//文本区域    private Button but;//按钮    private TextArea ta;//文本框    private Dialog d;//文件对话框    private Label lab;//标签、、封装文字    private Button okBut;//确定、、按钮    MyWindowDemo() {//无参        init();    }    public void init() {//初始化        f = new Frame("my window");//框架的左上名字        f.setBounds(650, 250, 600, 500);//x:从左到框架 y:从上到框架  width:框架的宽  height:框架的高        f.setLayout(new FlowLayout());//接下来是流式布局        tf = new TextField(60);//输入文本区域        but = new Button("转到");//按钮(转到)        ta = new TextArea(25, 70);//显示文本框        d = new Dialog(f, "提示信息-self", true);//不执行这个弹窗 将无法执行 f框架        d.setBounds(400, 200, 240, 150);//文件对话框  同上        d.setLayout(new FlowLayout());//接下来是流式布局        lab = new Label();//标签 封装文字        okBut = new Button("确定");//确定 按钮        d.add(lab);//向d 文件对话框 添加 封装好的文字        d.add(okBut);//向d 文件对话框 添加 确定 按钮        f.add(tf);//向f 框架 添加 文本区域        f.add(but);//向f 框架 添加 按钮(转到)        f.add(ta);//向f 框架 添加 文本框        myEvent();//调用myEvent();        f.setVisible(true); //显示窗体    }    private void myEvent() {        okBut.addActionListener(new ActionListener() {//匿名内部类            @Override            public void actionPerformed(ActionEvent e) {                d.setVisible(false);//文件对话框d调用setVisible()            }        });        d.addWindowListener(new WindowAdapter() {//匿名内部类            @Override            public void windowClosing(WindowEvent e) {                d.setVisible(false);//文件对话框d调用setVisible()            }        });        tf.addKeyListener(new KeyAdapter() {//匿名内部类            @Override            public void keyPressed(KeyEvent e) {//键盘                if (e.getKeyCode() == KeyEvent.VK_ENTER) {//如果从键盘上录入的值==enter                    showDir();//就执行showDir()方法                }            }        });        but.addActionListener(new ActionListener() {//匿名内部类            @Override            public void actionPerformed(ActionEvent e) {//按钮                String dirpath = tf.getText();//声明                File dir = new File(dirpath);//路径                if (dir.exists() && dir.isDirectory()) {//判断是否存在这个文件夹                    ta.setText("");//文本框转到后情况 文本框内容                    String[] names = dir.list();//数组 文件的名字                    for (String name : names) {  //增强for循环                        ta.append(name + "\r\n"); //文本框                    }                } else {                    String info = "您输入的信息:" + dirpath + "是错误的,请从新输出";//                    lab.setText(info);//封装文字                    d.setVisible(true);//                }            }        });        f.addWindowListener(new WindowAdapter() {//匿名内部类            @Override            public void windowClosing(WindowEvent e) {//点击x 关闭窗口                System.exit(0);//结束程序            }        });    }    private void showDir() {        String dirpath1 = tf.getText();        File dir = new File(dirpath1);        if (dir.exists() && dir.isDirectory()) {            ta.setText("");            String[] names = dir.list();            for (String name : names) {                ta.append(name + "\r\n");            }        } else {            String info = "您输入的信息:" + dirpath1 + "是错误的,请从新输出";            lab.setText(info);            d.setVisible(true);        }    }    public static void main(String[] args) {//主方法        new MyWindowDemo();//测试 new一个MyWindowDemo    }}