this指FileDialog的父窗体。
也就是为FileDialog指定一个parent frame

解决方案 »

  1.   

    你的这个类是一个内部类吗?
    它存在于一个扩展自Frame类型的类中吗?
    this在这里必须是Frame类型的
      

  2.   

    import java.awt.event.*;
    import java.awt.*;
    public class FiledialogText extends Frame{
    TextField filename = new TextField();
    TextField directory = new TextField();
    Button open = new Button("Open");
    Button save = new Button("Save");
    public FiledialogText(){
    setTitle("File Dialog Text:");
    Panel p = new Panel();
    p.setLayout(new FlowLayout());
    p.add(open);
    p.add(save);
    add("South", p);
    directory.setEditable(false);
    filename.setEditable(false);
    p = new Panel();
    p.setLayout(new GridLayout(2,1));
    p.add(filename);
    p.add(directory);
    add("North", p);
    open.addActionListener(new B1());
    open.addActionListener(new B2());
    }
    class B1 implements ActionListener{
    public void actionPerformed(ActionEvent e){
    FileDialog d = new FileDialog(this, "what file do you want to open");
    d.setFile("*.java");
    d.setDirectory(".");
    d.show();
    String openFile;
    if((openFile = d.getFile()) != null){
    filename.setText(openFile);
    directory.setText(d.getDirectory());
    }
    else{
    filename.setText("You pressed cancel");
    directory.setText("");
    }
    }
    }
    class B2 implements ActionListener{
    public void actionPerformed(ActionEvent e){
    FileDialog d = new FileDialog(this,"what file do you want to save");
    d.setFile("*.java");
    d.setDirectory(".");
    d.show();
    String saveFile;
    if((saveFile = d.getFile())!=null){
    filename.setText(saveFile);
    directory.setText(d.getDirectory());
    }
    else{
    filename.setText("You pressed cancel");
    directory.setText("");
    }
    }
    }
    public static void main(String args[]){
    Frame f = new FiledialogText();
    f.resize(250,110);
    f.show();
    }
    }
    能帮我看看吗?
      

  3.   

    这里this需要的类型是Frame
    需要引用FiledialogText的当前实例
      

  4.   

    这里this需要的类型是Frame
    需要引用FiledialogText的当前实例