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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 工善器 高级黑马   /  2013-10-20 15:18  /  2453 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
window demo 控制类
*/

package en.itcast.java.tools;
import java.awt.*;
import java.io.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


public class MyWindowDemo {
        private Frame f;
        private Button b;
        private TextField tf;
        private TextArea ta;
        private Dialog d;
        private Label l;
        private Button okbut;
        MyWindowDemo()
        {
                init();
        }
        public void init()
        {
                f=new Frame("my window");
                f.setBounds(40,30,1000,600);
                f.setVisible(true);
                f.setLayout(new FlowLayout());
               
                tf=new TextField(10);//设置最好可以接受多少个字符
                b=new Button("转到");
                ta=new TextArea(25,70);
                d=new Dialog(f,"提示信息---self",true);
                d.setBounds(400,200,240,150);
                //d.setVisible(true);//发现多写了一句
                d.setLayout(new FlowLayout());
               
                l=new Label();
                okbut=new Button("确定");
               
                //把确定按钮和label 标签添加到对话框中
                d.add(l);
                d.add(okbut);
               
                //把文本区,文本域和一个button按钮添加到框架中去               
                f.add(ta);
                f.add(tf);
                f.add(b);
               
                myEvent();       
               
        }
        private void myEvent()
        {
                //为对话框中的按钮添加鼠标监听事件,使一点击按钮就隐藏此窗体(对话框)
                okbut.addActionListener(new ActionListener() {
                       
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                // TODO Auto-generated method stub
                                d.setVisible(false);
                               
                        }
                });
                //为对话框添加窗体监听机制,关闭时,隐藏对话框窗口
                d.addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent e)
                        {
                                d.setVisible(false);
                        }
                });
                //为文本域添加键盘监听机制
                //在tf中敲击回车键的时候,执行showDir函数
                tf.addKeyListener(new KeyAdapter() {
                        public void keyPressed(KeyEvent e)
                        {
                                if(e.getKeyCode()==KeyEvent.VK_ENTER)
                                        showDir();
                        }
                });
                //为窗体里的按钮事件添加行为监听事件
                //尚未输入内容的时候,单击回车的时候,也会执行一次showDir函数
                b.addActionListener(new ActionListener() {
                       
                        @Override
                        public void actionPerformed(ActionEvent e) {
                                // TODO Auto-generated method stub
                                showDir();
                        }
                } );
                //为窗体添加关闭事件
                f.addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent e)
                        {
                                System.exit(0);
                        }
                });
               
        }
        private 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");       
                                //斜杠r是换行,斜杠t是制表符,斜杠n是
                        }
                       
                }
                else
                {
                        String info="你输入的信息:"+dirPath+"是错误的的。请重新输入";
                        //将字符串中的信息呈现在label标签中
                        //将对话框显现出来,对话框是Diarlog
                        l.setText(info);
                        d.setVisible(true);                       
                }
        }
       
        public static void main(String[] args) {
                // TODO Auto-generated method stub
                new MyWindowDemo();
        }

}

评分

参与人数 1技术分 +1 收起 理由
李江 + 1 很给力!

查看全部评分

8 个回复

倒序浏览
  1. private void showDir()                             //没仔细看前面的,觉得是输入目录,存在就显示目录下的所有文件以及文件夹名字,错误就提示
  2.         {
  3.                 String dirPath=tf.getText();             //获取路径
  4.                 File dir=new File(dirPath);                 //关联文件
  5.                 //如果文件存在文件目录也存在那么     
  6.                 if(dir.exists()&&dir.isDirectory())         //判断文件是否存在,并且是否是目录,是就if否则else
  7.                 {
  8.                         ta.setText("");                       //先保持文本域是空的
  9.                         String[] names=dir.list();          //获取目录下所有文件及文件夹名称
  10.                         for(String name :names)          //遍历名称
  11.                         {
  12.                                 ta.append(name+"\r\n");                        //显示名称,并换行
  13.                                 //斜杠r是换行,斜杠t是制表符,斜杠n是   
  14.                         }
  15.                         
  16.                 }
  17.                 else
  18.                 {
  19.                         String info="你输入的信息:"+dirPath+"是错误的的。请重新输入";
  20.                         //将字符串中的信息呈现在label标签中
  21.                         //将对话框显现出来,对话框是Diarlog
  22.                         l.setText(info);
  23.                         d.setVisible(true);                        
  24.                 }
  25.         }
复制代码

点评

To
分加了。哥们以后注意帮助别人的同时。多加点自己的理解  发表于 2013-10-20 19:16

评分

参与人数 1技术分 +1 收起 理由
李江 + 1

查看全部评分

回复 使用道具 举报

怎么就写了一行注释就加分呢,下边的注释是我写的呀 ,本来有的,你注释(解释)的部分在那呢,我需要的是详解,方法里面的东西你都没说头,顺便附带一句,你要把我当成刚学c的人讲,才达到要求,这都加分???别辜负了那一分,哥们再写点吧

点评

To
版主照顾不周的地方还请这位仁兄包含。以后有问题可以给我站内信  发表于 2013-10-20 19:16
回复 使用道具 举报
本帖最后由 風諾 于 2013-10-20 19:40 编辑
工善器 发表于 2013-10-20 18:53
怎么就写了一行注释就加分呢,下边的注释是我写的呀 ,本来有的,你注释(解释)的部分在那呢,我需要的 ...

1、这是java不是C
2、你说你把你当刚学的,那么要是刚学,不知道为什么用这个当例子,应该从毕老师的视频从头看比较好。既然已经到了视频的图形化界面了,那么前面的基本的运算方法应该懂的
3、你要求解释showDir部分,if部分的语句我都注释了,else语句只是针对输入目录错误的情况有个提示,如果你理解了if,else部分不难 ,自主去思考更好些

另外,我觉得逐条语句已经说清楚了,我不太理解还有哪里没有解释的,你可以具体提问下面是我注解的标出来了,if部分大多是我注释的。另外,我一直觉得黑马提倡自学,以及学习能力。我把我所理解的都注释出来了,我不知道哪里不清楚,都是单条基本语句。你不懂接着问,我知道的告诉你
  1. private void showDir()                             //没仔细看前面的,觉得是输入目录,存在就显示目录下的所有文件以及文件夹名字,错误就提示--------我首先说的
  2.         {
  3.                 String dirPath=tf.getText();             //获取路径----------------------------------------------------------------我的注解
  4.                 File dir=new File(dirPath);                 //关联文件----------------------------------------------------------------我的注解
  5.                 //如果文件存在文件目录也存在那么 -----------------------------------------------------你的注解:什么叫文件存在目录也存在?
  6.                 if(dir.exists()&&dir.isDirectory())         //判断文件是否存在,并且是否是目录,是就if否则else----------我的注解
  7.                 {
  8.                         ta.setText("");                       //先保持文本域是空的----------------------------你的注解
  9.                         String[] names=dir.list();          //获取目录下所有文件及文件夹名称---------------------------------我的注解
  10.                         for(String name :names)          //遍历名称----------------------------------------------------------------我的注解
  11.                         {
  12.                                 ta.append(name+"\r\n");                        //显示名称,并换行-----------------------------------我的注解
  13.                                 //斜杠r是换行,斜杠t是制表符,斜杠n是   --------------------------------你的注解
  14.                         }
  15.                         
  16.                 }
  17.                 else
  18.                 {
  19.                         String info="你输入的信息:"+dirPath+"是错误的的。请重新输入";
  20.                         //将字符串中的信息呈现在label标签中
  21.                         //将对话框显现出来,对话框是Diarlog
  22.                         l.setText(info);
  23.                         d.setVisible(true);                        
  24.                 }
  25.         }
复制代码
回复 使用道具 举报
{:soso_e113:}
回复 使用道具 举报
关联文件那个位置不清楚
回复 使用道具 举报

楼主你好,如果问题已解决请将帖子状态修改为提问结束,如果未解决请继续提问,谢谢合作
如果不会修改请看解释帖:http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马