A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 许云龙 中级黑马   /  2013-8-18 08:50  /  2406 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.awt.*;
import java.awt.event.*;
import java.io.*;

class MyWindowDemo
{
                private Frame f;
                private Button but;
                private TextField tf;
                private TextArea ta;
               
                private Dialog d;          //对话框窗体组件  
                private Label lab;        //文本组件
                private Button okBut;
               
                MyWindowDemo()
                {
                                init();
                }
               
                //窗体和组件
                public void init()
                {
                                        f = new Frame("我的程序");
                                        but = new Button("列出");
                                        tf = new TextField("您好!这是列出目录中所有文件的程序,请在此处输入“有效”路径!",70);
                                        ta = new TextArea("例如输入:d:\\\r\n\r\n则输出D盘下的所有文件和文件夹",26,77);
                                       
                                       
                                        f.setBounds(200,100,600,500);
                                        f.setLayout(new FlowLayout());
                                       
                                        d = new Dialog(f,"提示信息",true);  //需要使用时再创建,为了方便学习,在此创建
                                        d.setBounds(400,200,240,150);
                                        d.setLayout(new FlowLayout());
                                        lab = new Label(); //创建文本组件,可以初始化内容,但调用时可以同过setText()方法添加内容
                                        okBut = new Button("确定");
                                       
                                        d.add(lab);
                                        d.add(okBut);
                                       
                                        f.add(tf);
                                        f.add(but);
                                        f.add(ta);
                                       
                                        myEvent();
                                        f.setVisible(true);
                                       
                }
                //监听器
                public void myEvent()
                {
                                //窗体 --窗体监听器
                                f.addWindowListener (new WindowAdapter()
                                {
                                                        public void windowClosing(WindowEvent e)
                                                        {
                                                                                System.exit(0);
                                                        }
                                });
                               
                                //文本框组件 --鼠标监听器 -- 鼠标点击,清空文本框内容
                                tf.addMouseListener(new MouseAdapter()
                                {
                                                        public void mouseClicked(MouseEvent e)
                                                        {
                                                                                tf.setText("");
                                                        }
                                });
                               
                                //文本框组件 -- 键盘监听器 --调用我的方法
                               
                                tf.addKeyListener(new KeyAdapter()
                                {
                                                public void keyPressed(KeyEvent e)
                                                {
                                                                        if(e.getKeyCode()==e.VK_ENTER)
                                                                                        showDir();
                                                }
                                });
                               
                                //按钮组件 -- 活动监听器 --调用我的方法
                                but.addActionListener(new ActionListener()
                                {
                                                        public void actionPerformed(ActionEvent e)
                                                        {
                                                                                showDir();
                                                        }
                                });
                               
                                //对话框窗体 -- 窗体监听器  --让对话框窗体消失
                                d.addWindowListener(new WindowAdapter()
                                {
                                                        public void windowClosing(WindowEvent e)
                                                        {
                                                                                d.setVisible(false);
                                                        }
                                });
                                //对话框窗体按钮组件 -- 键盘监听器 --让对话框窗体消失
                                okBut.addKeyListener(new KeyAdapter()
                                {
                                                public void keyPressed(KeyEvent e)
                                                {
                                                                        if(e.getKeyCode()==e.VK_ENTER)
                                                                                        d.setVisible(false);
                                                }
                                });                               
                }
               
                //我的方法
                public void showDir()
                {
                                        String dirPath = tf.getText(); //获取文本框组件内用户输入的内容
                                       
                                        File dir = new File(dirPath);  //使用用户输入的路径创建文件对象
                                       
                                        if(dir.exists() && dir.isDirectory()) //判断用户输入的路径是否是有效路径且是否是一个文件夹
                                        {
                                                        ta.setText("");   //清空文 本区域 中的内容
                                                       
                                                        String []names = dir.list(); //定义字符串数组
                                                       
                                                        for(String name : names) //遍历字符串数组
                                                        {
                                                                        ta.append(name+"\r\n"); //将遍历的内容添加到  文本区域
                                                        }
                                                       
                                        }
                                        else
                                        {
                                                        String info = "您输入的信息不是有效路径,请重输入";
                                                        lab.setText(info);
                                                        d.setVisible(true);
                                                        //ta.setText("输入的不是有效路径");
                                        }
                                               
                }
               
                public static void main(String []args)
                {
                                new MyWindowDemo();
                }
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

4 个回复

倒序浏览
我去,哥们你这,好吧,既然老田当好人,我就只能当坏人了
提醒下,以后不许这样有疑是刷帖的行为出现了,还有这些代码在视频中基本上都有,如果没有自己的见解或者感悟,是不给加分的
回复 使用道具 举报
神之梦 发表于 2013-8-18 23:51
我去,哥们你这,好吧,既然老田当好人,我就只能当坏人了
提醒下,以后不许这样有疑是刷帖的行为出现了, ...

感谢版主的包容,我只是求学心切,想早点到黑马学习,希望报上在24期

点评

差不了几分了,在论坛找些问题回答下,很快就哦了  发表于 2013-8-20 00:28
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马