首页 > 代码库 > 9.JAVA之GUI编程列出指定目录内容

9.JAVA之GUI编程列出指定目录内容

代码如下:

/*列出指定目录内容*/import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.TextArea;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.File;class MyWindowDemo {    private Frame f;    private TextField tf;    private Button but;    private TextArea ta;    MyWindowDemo() {        init();    }    public void init() {        f = new Frame("by 星云");//创建窗体对象        f.setBounds(300, 100, 600, 500);//设置窗体位置和大小        f.setLayout(new FlowLayout());//设置窗体布局为流式布局        tf = new TextField(60);//创建单行文本对象60长度大小字符        but = new Button("转到");//创建按钮对象        ta = new TextArea(25, 70);//创建多行文本对象25行,70列        f.add(tf);//单行文本添加到窗体上        f.add(but);//按钮添加到窗体上        f.add(ta);//多行文本添加到窗体上        myEvent();//加载事件处理        f.setVisible(true);//设置窗体可见    }    private void myEvent() {                //按钮事件监听器        but.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent e) {                String dirPath=tf.getText();//获取单行文本内容保存到字符串dirPath中                File dir=new File(dirPath);//将字符串dirPath封装成文件                                //如果文件存在,而且是个目录执行下列操作                if(dir.exists() &&dir.isDirectory())                {                    ta.setText(null);//没打开一个目录前清空多行文本内容                    String[] names=dir.list();//文件目录列表存放到字符数组中                    for(String name :names)                    {                        ta.append(name+"\r\n");//追加文本内容并换行                                            }                }                                            }                                });        //窗体关闭监听器        f.addWindowListener(new WindowAdapter() {            public void windowClosing(WindowEvent e) {                System.exit(0);            }        });    }    public static void main(String[] args){                 new MyWindowDemo();    }}

程序截图: