一下是我打的一个程序(基本上是对着书打的^_^,去掉了其它没用的部分),编译时出现了下面的问题: cannot resolve symbol: constructor Dialog (java.awt.Frame,java.lang.String,java.lang.Boolean)in class java.awt.Dialog
我百思不得其解,直接在窗口类中创建dialog没有问题,这是怎么回事??小弟初学,愚昧。敬请赐教import java.awt.*;
import java.awt.event.*;class MyDialog extends Dialog
{
  Choice c;
  public MyDialog(Frame f,String s,Boolean b)
  {
    super(f,s,b);                 //////////////////////////出错位置////////////////////
    setBounds(80,80,200,200);
    setLayout(new FlowLayout());
    c = new Choice();
    c.add("选项1");
    c.add("选项2");
    c.add("选项3");
    c.add("选项4");
    c.add("选项5");
    add(c);
    addWindowListener(
      new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
        {
          setVisible(false);
        }
      }
      );
  }
}class MyFrame extends Frame implements ActionListener
{
  Dialog dlg;
  public MyFrame(String s)
  {
    super(s);
    setBounds(200,200,400,400);
    setLayout(new FlowLayout());
    setVisible(true);
    dlg = new Dialog(this,"无标题",true);
   
    validate();
    addWindowListener(
      new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
        {
          System.exit(0);
        }
      }
      );
  }
  public void actionPerformed(ActionEvent e)
  {
  }
}public class E10
{
 public  static void  main(String args[])
  {
    new MyFrame("显示窗口");
  }
}

解决方案 »

  1.   

    你这super是什么,我觉得应该这样写吧MyDialog super = new MyDialog(f,s,b)我也是初学,不知道是不是,嘿嘿。
      

  2.   

    public MyDialog(Frame f,String s,Boolean b)
                                     boolean
      

  3.   

    Dialog的构造函数是这个
    Dialog(Dialog owner, String title, boolean modal) 
    你super是调用的超类的构造函数