GUI练习:列出指定目录内容

来源:互联网 发布:suse linux 宕机分析 编辑:程序博客网 时间:2024/04/30 00:39

输入目录路径,点击转到按钮或者键盘回车键,可列出所有目录路径之下的文件名,若目录输入错误,则弹出信息提示对话框,单击确定键对话框关闭。

import java.awt.*;import java.awt.event.*;import java.io.*;public class MyWindowDemo {    private Frame f;    private TextField tf;    private Button but;    private TextArea ta;    private Dialog d;    private Label lab;    private Button okbut;    public MyWindowDemo()    {        init();    }    public void init()    {        f=new Frame("my window");        f.setBounds(200, 100, 500, 400);        f.setLayout(new FlowLayout());        tf=new TextField(50);        but=new Button("转到");        ta=new TextArea(18,50);        f.add(tf);        f.add(but);        f.add(ta);        d=new Dialog(f,"提示信息-self",true);        d.setBounds(300,200,300,200);        d.setLayout(new FlowLayout());        lab=new Label();        okbut=new Button("确定");        d.add(lab);        d.add(okbut);        myEvent();          f.setVisible(true);         }    public void myEvent()    {        d.addWindowListener(new WindowAdapter()        {            public void windowClosing(WindowEvent e)            {                d.setVisible(false);            }        });        okbut.addActionListener(new ActionListener()        {            @Override            public void actionPerformed(ActionEvent e) {                // TODO Auto-generated method stub                d.setVisible(false);            }        });        tf.addKeyListener(new KeyAdapter()        {            public void keyPressed(KeyEvent e)            {                if(e.getKeyCode()==KeyEvent.VK_ENTER)                    showDir();            }        });        but.addActionListener(new ActionListener()        {            @Override            public void actionPerformed(ActionEvent e) {                // TODO Auto-generated method stub                /*                 * String text=tf.getText();                 * ta.append(text+"\r\n");                 */                showDir();            }        });        f.addWindowListener(new WindowAdapter()        {            public void windowClosing(WindowEvent e)            {                System.exit(0);            }        });    }    private void showDir() {        // TODO Auto-generated method stub        String dirPath=tf.getText();        File dir=new File(dirPath);        if(dir.exists()&&dir.isDirectory())        {            ta.setText(null);            String[] names=dir.list();            for(String name:names)            {                ta.append(name+"\r\n");            }        }        else        {            String info="您输入的信息:"+dirPath+"是错误的,请重新输入";            lab.setText(info);            d.setVisible(true);        }        //ta.setText(text);        tf.setText(null);    }    public static void main(String[] args) {        // TODO Auto-generated method stub        new MyWindowDemo();    }}

输入正确情况:
这里写图片描述

这里写图片描述

这里写图片描述

输入错误,弹出对话框情况:
这里写图片描述

这里写图片描述

0 0
原创粉丝点击