你没把ta加到Frame中去。应该加上这句:f.add(ta);
import java.awt.*;
import java.awt.event.*;
public class FileDialogExample implements ActionListener{
Frame f;
Button b;
TextArea ta;
FileDialog fd;
static public void main(String args[]){
FileDialogExample fde=new FileDialogExample();
fde.go();
}
public void go(){
f=new Frame("FileDialog Example");
b=new Button("show filedialog");
b.addActionListener(this);
f.add("South",b);
ta=new TextArea();
                  f.add(ta);                //
fd=new FileDialog(f,"FileDialog");
f.setSize(350,150);
f.setVisible(true);
}
public void actionPerformed(ActionEvent e){
fd.setVisible(true);
ta.append("Directory:  "+fd.getDirectory());
ta.append("\nFilename:  "+fd.getFile());
}
}

解决方案 »

  1.   

    不好意思,问题解决了,我忘了把ta加到Frame中了!
      

  2.   

    老弟你太粗心了
    import java.awt.*;
    import java.awt.event.*;
    public class FileDialogExample implements ActionListener{
    Frame f;
    Button b;
    TextArea ta;
    FileDialog fd;
    static public void main(String args[]){
    FileDialogExample fde=new FileDialogExample();
    fde.go();
    }
    public void go(){
    f=new Frame("FileDialog Example");
    b=new Button("show filedialog");
    b.addActionListener(this);
    f.add("South",b);
    ta=new TextArea();
                    f.add("Center",ta);//note this 
    fd=new FileDialog(f,"FileDialog");
    f.setSize(350,150);
    f.setVisible(true);
    }
    public void actionPerformed(ActionEvent e){
    fd.setVisible(true);
    ta.append("Directory:  "+fd.getDirectory());
    ta.append("\nFilename:  "+fd.getFile());
    }
    }