黑马程序员技术交流社区

标题: 请各位帮忙看一下,哪地方出错了?为什么运行的时候出... [打印本页]

作者: 三分之一    时间: 2015-8-21 15:07
标题: 请各位帮忙看一下,哪地方出错了?为什么运行的时候出...
本帖最后由 三分之一 于 2015-8-21 16:05 编辑

请各位帮忙看一下,那地方出错了?为什么运行的时候出现空指针异常?十分感谢。。。
  1. package guilianxi;

  2. import java.awt.event.*;
  3. import java.awt.*;
  4. import java.io.*;
  5. /**        需求:在文本框中输入目录,点击“转到”按钮,将该目录的文件和文件夹名称列在下面的文本区域里
  6. * @param args
  7. */
  8. public class TextAreaDemo {
  9.         
  10.         public static void main(String[] args) {
  11.                 new FrameDemo3();
  12.         }

  13. }

  14. class FrameDemo3
  15. {
  16.         private Frame f;
  17.         private TextField tf;
  18.         private Button bon;
  19.         private TextArea ta;        
  20.         FrameDemo3()
  21.         {
  22.                 f.setBounds(300,100,500,600);
  23.                 f.setLayout(new FlowLayout());               
  24.                 tf=new TextField(60); //设置文本的列数
  25.                 bon=new Button("转到");
  26.                 ta=new TextArea(25,75);//设置文本区域的行和列的长度
  27.                 f.add(tf);
  28.                 f.add(bon);
  29.                 f.add(ta);
  30.                 myEvent();
  31.                 f.setVisible(true);        
  32.                
  33.         }
  34.         public void myEvent()
  35.         {
  36.                 f.addWindowListener(new WindowAdapter()  //窗体的关闭窗口的功能
  37.                 {
  38.                         public void windowClosing(WindowEvent e)
  39.                         {
  40.                                 System.exit(0);
  41.                         }
  42.                 });
  43.                
  44.                 bon.addActionListener(new ActionListener()
  45.                 {
  46.                         public void actionPerformed(ActionEvent e)
  47.                         {
  48.                                 String text=tf.getText();
  49.                                 ta.setText(text);   //将文本框中的内容传到文本区域中
  50.                                 tf.setText("");  //清空文本框中的内容
  51.                         }
  52.                 });
  53.                 bon.addActionListener(new ActionListener()
  54.                 {
  55.                         public void actionPerformed(ActionEvent e)
  56.                         {
  57.                                 String dirPath=tf.getText();
  58.                                 File dir=new File(dirPath);
  59.                             if(dir.exists()&&dir.isDirectory())        
  60.                             {
  61.                                     ta.setText("");
  62.                                     String[] names=dir.list();
  63.                                     for(String name:names)
  64.                                     {
  65.                                             ta.append(name+"\r\n");
  66.                                             
  67.                                     }
  68.                                     
  69.                             }
  70.                         }

  71.                         
  72.                 });
  73.                
  74.         }
  75.         

  76. }
复制代码




作者: boboyuwu    时间: 2015-8-21 15:39
勋章怎么弄的     下次把第几行错误发上来  你这样谁会看啊
作者: 三分之一    时间: 2015-8-21 15:47
boboyuwu 发表于 2015-8-21 15:39
勋章怎么弄的     下次把第几行错误发上来  你这样谁会看啊

编译的时候没显示错误啊,可是运行的时候出错了。。。至于勋章,好像是柳柳桑发的一个帖子,完成她的要求就可以拥有勋章了~
作者: 三分之一    时间: 2015-8-21 15:58
终于找出错在哪了。。。我竟然忘记创建Frame窗体了,加上f=new Frame();就可以了,很容易忽略的细节。。。
作者: pengbeilin    时间: 2015-8-21 18:03
三分之一 发表于 2015-8-21 15:58
终于找出错在哪了。。。我竟然忘记创建Frame窗体了,加上f=new Frame();就可以了,很容易忽略的细节。。。 ...

报的是一个空指针异常,而且告诉你在哪一行~  下次自己肯定能解决
作者: xk513718201    时间: 2015-8-21 18:08
6666666666666666666666666
作者: 三分之一    时间: 2015-8-21 18:17
标题: RE: 请各位帮忙看一下,哪地方出错了?为什么运行的时候出...
pengbeilin 发表于 2015-8-21 18:03
报的是一个空指针异常,而且告诉你在哪一行~  下次自己肯定能解决

确实是,下次在遇到这种错误就知道哪地方出错了,知道去哪找了~细节决定成败啊、、、




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2