编写一个类似于记事本的程序.代码如下:(暂时没编写完成,仅实现"打开文件"功能)
import java.io.*;
import java.awt.*;
import java.awt.event.*;public class HomeWork9 extends WindowAdapter implements ActionListener
{
Frame fr;
TextArea ta;
MenuBar mb;
Menu m;
MenuItem mi1;
MenuItem mi2;
MenuItem mi3;
MenuItem mi4;
FileDialog fd1;
FileDialog fd2;
FileDialog fd3;

public HomeWork9() throws Exception
{
ta = new TextArea();
ta.setBackground(Color.yellow);
ta.setForeground(Color.red);

mb = new MenuBar();
m = new Menu("File");
mi1 = new MenuItem("Open",new MenuShortcut(KeyEvent.VK_O,false));
mi2 = new MenuItem("Save",new MenuShortcut(KeyEvent.VK_S,false));
mi3 = new MenuItem("Save as",new MenuShortcut(KeyEvent.VK_C,false));
mi4 = new MenuItem("Quit",new MenuShortcut(KeyEvent.VK_Q,false));
m.add(mi1);
m.addSeparator();
m.add(mi2);
m.add(mi3);
m.addSeparator();
m.add(mi4);
mb.add(m);

fr = new Frame();
fr.setTitle("This is a NotePad!");
fr.setSize(400,400);
fr.setResizable(true);
fr.setMenuBar(mb);
fr.add(ta);
fr.pack();
fr.addWindowListener(this);
fr.setVisible(true);
}

public void actionPerformed(ActionEvent e)
{
fd1 = new FileDialog(this,"Open",FileDialog.LOAD);      //这行出现问题
----------------------------------------------------------------------------------
fd1.setVisible(true);
}

public void windowClosing(WindowEvent e)
{
System.exit(0);
}

public static void main(String args[]) throws Exception
    {
     new HomeWork9();
    }
}----------------------------------------
编译后出现如下问题:
java:52: 找不到符号
符号: 构造函数 FileDialog(HomeWork9,java.lang.String,int)
位置: 类 java.awt.FileDialog
                fd1 = new FileDialog(this,"Open",FileDialog.LOAD);
                      ^
1 错误

解决方案 »

  1.   

    fd1 = new FileDialog(this,"Open",FileDialog.LOAD); 
    第一个参数是this,你这算使用FileDialog的哪个构造函数啊?FileDialog有这样一个接受HomeWork9或WindowsAdapter或ActionListener类型的构造函数吗?好像只有下面这4个吧:java.awt.FileDialog 
    java.awt.FileDialog(java.awt.Frame) 
    java.awt.FileDialog(java.awt.Frame, java.lang.String) 
    java.awt.FileDialog(java.awt.Frame, java.lang.String, int)
      

  2.   

    是因为你的构造函数调用的不对了,FileDialog的第一个参数应该是Frame或者Dialog的实例。但是this不是啊~这样改就可以了:
    fd1 = new FileDialog(new Frame(),"Open", FileDialog.LOAD);
      

  3.   

    我已经改成
    fd1 = new FileDialog(new Frame(),"Open", FileDialog.LOAD);但是无法实现 打开文件 功能,
    各位帮下忙!