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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

import java.awt.*;
import java.awt.event.*;
import java.io.*;
class AwtFileList
{
        private Frame f;
        private Button b;
        private TextField tf;
        private TextArea ta;
        private Label la;
        private Dialog d;
        private Button b1;
        AwtFileList()
        {
                init();
        }

        public void init()
        {
                f= new Frame("列出目录下清单");
                f.setLayout(new FlowLayout());
                b=new Button("转到");
                tf=new TextField(41);
                ta=new TextArea(20,40);
                f.setBounds(200,200,400,400);
                f.add(tf);
                f.add(b);
                f.add(ta);
                addEvent();
                f.setVisible(true);

        }

        public void addEvent()
        {
                f.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent w)
                        {
                                System.exit(0);
                        }
                });

                d.addWindowListener(new WindowAdapter()
                {
                        public void windowClosing(WindowEvent w)
                        {
                                d.setVisible(false);
                        }
                               
                });
                                       
                       
               

                b1.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent a)
                        {
                                d.setVisible(false);
                        }
                });


                b.addActionListener(new ActionListener()
                {
                        public void actionPerformed(ActionEvent a)
                        {
                               
                                String dir = tf.getText();
                                //tf.setText("");
                                File fi = new File(dir);
                                if(fi.exists() && fi.isDirectory())
                                {
                                        ta.setText("");//清空
                                       
                                       
                                                String[] list = fi.list();
                                                for(String l : list)
                                                {
                                                        ta.append(l+"\r\n");
                                                }
                                       
                                       
                                       
                                       
                                }
                       
                                else
                                {
                                        //f代表该对话框与那个窗体相关联
                                         d =new Dialog(f,"错误提示",true);
                                         b1 = new Button("确定");
                                         String s = "请检查您输入的目录"+dir+"有误";
                                         la = new Label(s);
                                        d.setBounds(200,200,200,200);
                                        d.setLayout(new FlowLayout());
                                        d.add(la);
                                        d.add(b1);
                                        d.setVisible(true);
       
                                }
                        }
                });

                       
        }
        public static void main(String[] args)
        {
                new        AwtFileList();
        }
}


捕获.PNG (8.68 KB, 下载次数: 5)

报错提示

报错提示

评分

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

查看全部评分

5 个回复

倒序浏览
空指针异常,你的new  awtfilelist()有问题,怎么能够直接你要new一个什么?谁指向你new的空间?
回复 使用道具 举报
黄陂酷歌 发表于 2014-3-3 14:17
空指针异常,你的new  awtfilelist()有问题,怎么能够直接你要new一个什么?谁指向你new的空间? ...

这是匿名对象
回复 使用道具 举报
addEvent()函数里有问题
  1. d.addWindowListener(new WindowAdapter()
  2.                 {
  3.                         public void windowClosing(WindowEvent w)
  4.                         {
  5.                                 d.setVisible(false);
  6.                         }
  7.                                 
  8.                 });
复制代码

你的d还没有指向你创建实例,因为你根本就没创建Dialog实例,就调用方法报错
  1. b1.addActionListener(new ActionListener()
  2.                 {
  3.                         public void actionPerformed(ActionEvent a)
  4.                         {
  5.                                 d.setVisible(false);
  6.                         }
  7.                 });
复制代码

同样的问题b1没有创建实例Button

评分

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

查看全部评分

回复 使用道具 举报
楼上正解。楼楼上改了怎么改的都不解释。。
回复 使用道具 举报

真是 太感谢了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马