黑马程序员技术交流社区

标题: (GUI),报错 [打印本页]

作者: 黑马李刚    时间: 2011-9-9 17:52
标题: (GUI),报错
(sorry for the bad format)
编译时报错:第38行“不是语句”
第38行需要".class"[code=java]import java.awt.*;
import java.awt.event.*;
import java.io.*;
class L
{
   private Frame f;
   private Button b;
   private TextField tf;
   private TextArea ta;
   public void init()
   {
      f=new Frame();
      f.setBounds(110,200,400,300);
      f.setLayout(new FlowLayout());

      tf=new TextField(30);
      b=new Button("转到");
      ta=new TextArea(33,40);

      f.add(tf);
      f.add(b);
      f.add(ta);

      myEvent();

      f.setVisible(true);
   }

   public void myEvent()
   {
      b.addActionListener(new ActionListener()
      {
          public void actionPerformed(ActionEvent e)
          {
                if(dir.exists()&&dir.isDirectory())
                                
                String dirPath=tf.getText();
                File dir=new File(dirPath);
                String[] names=dir.list();
                for(String name:names)
                {
                     System.out.println(name);
                }
                ta.setText(text);
                tf.setText("");
          }
     });
     f.addWindowListener(new WindowAdapter()
     {
         public void windowClosing(WindowEvent a)
         {
               System.exit(0);
         }
     });
  }

  public static void main(String args[])
  {
     L l=new L();
     l.init();
  }
}[/code]
[ 本帖最后由 黑马李刚 于 2011-09-09  20:02 编辑 ]
作者: 李叶    时间: 2011-9-9 21:47
问题其实挺多的……我简单说一下吧:

第一个问题:先看一下你的第35~38行
  1. if(dir.exists()&&dir.isDirectory())
  2. String dirPath=tf.getText();
  3. File dir=new File(dirPath);
复制代码
由于变量是必须先定义后使用的
而你这三行语句中,dir这个变量是先在if中使用,然后才在下面定义的
所以应当把下面两行代码放到上面,也就是改成下面这样:
  1. String dirPath=tf.getText();
  2. File dir=new File(dirPath);
  3. if(dir.exists()&&dir.isDirectory())
复制代码
第二个问题:看一下你的39行
  1. String [] names=dir.list();
复制代码
第39行的dir.list()方法返回的是一个List类型的对象,所以这里赋值给String[]数组显然会出错

第三个问题:看一下你的44行
  1. ta.setText(text);
复制代码
这里出现的text变量是在哪里定义的呢?
[ 本帖最后由 李叶 于 2011-09-09  21:48 编辑 ]
作者: 匿名    时间: 2011-9-9 23:00
呵呵,李叶同学出现了~问题搞定了~
作者: 匿名    时间: 2011-9-9 23:18
才发现我的代码一团糟啊。。。




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