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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
要求:在文本框输入地址,在文本区域列出所有的文件,不包括文件夹且当输入不对地址弹出对话框。
思路:
1.首先要明确要图形化界面,有文本框,文本区域:TextField,TextAir,以及操作的按钮button
2,需要低级的按钮,要安装监听器
3,在监听器里面要创建功能。也就是写搜素程序
*/
import java.awt.*;
import java.awt.event.*;
import java.io.*;
class Duihuakuang
{
        private Frame f;
        private Button b;
        private TextArea ta;
        private TextField tf;

        private Dialog d;
        private Button okb;
        private Label l;


        Duihuakuang()
        {
                init();
        }
        public void init()
        {
                f=new Frame("我的文档");
                b=new Button("搜索");
                ta=new TextArea(40,60);
                tf=new TextField(15);
                f.setBounds(200,300,500,600);
                f.setLayout(new FlowLayout());
                f.add(tf);
                f.add(b);
                f.add(ta);
                myEvent();
                f.setVisible(true);

                d=new Dialog(f,"提示信息",true);
                d.setLayout(new FlowLayout());
                d.setBounds(200,300,200,300);
                okb=new Button("确定");
                l=new Label();
                d.add(l);
                d.add(okb);
        }
        public void myEvent()
        {
//把下面注释的一加上就错了,为什么????????????????????????????????
                /*okb.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                d.setVisible(false);
                        }
                });*/
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent e)
                        {
                                System.exit(0);
                        }
                });
                b.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent e)
                        {
                                String s=tf.getText();
                                tf.setText("");
                                ta.setText("");
                                File dir=new File(s);
                                        if (dir.exists()&&dir.isDirectory())
                                        {
                                                File[] arr=dir.listFiles();
                                                for(File file:arr)
                                                {
                                                        ta.append(file.toString()+"\r\n");
                                                        continue;
                                                }
                                        }
                                                l.setText("你输入的"+s+"不对");
                                                d.setVisible(true);
                        }
                });
        }
        public static void main(String[] args)
        {
                new Duihuakuang();
        }
}

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

4 个回复

倒序浏览
呵呵,自我解答,找出答案了,还是问的前辈们,但是还是不错。因为没有对okb进行实例化,就开始对okb操作。所以导致空指针异常。这种问题很常见。
回复 使用道具 举报
潜伏 发表于 2013-12-4 00:48
呵呵,自我解答,找出答案了,还是问的前辈们,但是还是不错。因为没有对okb进行实例化,就开始对okb操作。 ...

以前我也是老出这种错误。
现在用eclipse了,它会自动提醒你。。很方便。
妈妈再以不用担写我代码了。
回复 使用道具 举报
下次问题解决了就把类型改成提问结束!谢谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马