我怀疑是否少加载了什么类import,请高手指点,谢谢

解决方案 »

  1.   

    你没有给这个Frame添加ActionListener,handleEvent()这个方法根本就没有用到啊
      

  2.   

    那该怎么加呢?是不是加在main中
      

  3.   

    f.addWindowListener( new WindowAdapter() {
      public void windowClosing( WindowEvent e ) {
    System.exit(0);
      }
    });
      

  4.   

    public static void main(String[] args)
    {
    Frame f = new Frame();
                      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//加上这句
    f.resize(300,200);
    f.show();
    }
      

  5.   

    两位提供的代码我都试了,一个是WindowAdapter类出错,一个是EXIT_ON_CLOSE出错。好像都是没定义,不识别的错误。
      

  6.   

    我想,因为我已经定义了这个函数handleEvent嘛,那么重点是在main中如何调用它的书写方式。
      

  7.   

    看不明白楼主的代码,“imagetest1 extends Frame”
    既然已经是FRAME的子类了,又Frame f = new Frame();
    f.resize(300,200);
    f.show();那你定义的类,根本没实例化(没对象产生)。不知理解是否有误
      

  8.   

    “这个就能显示个窗口,但是我不能关闭它”
    你没有对你所创建的FRAME进行事件监听,是无法关闭的
    import java.awt.*; //
    import java.awt.event.*;
    public class tt extends Frame
    {
            public boolean handleEvent(Event evt)
            {
                    if(evt.id == Event.WINDOW_DESTROY) System.exit(0);
                    return super.handleEvent(evt);
            }
            public void paint(Graphics g)
            {
                    g.drawString("hello!",75,100);
            }
            public static void main(String[] args)
            {
                   final Frame f = new Frame();
                    f.resize(300,200);
                    f.show();
                    f.addWindowListener(new WindowAdapter() 
    {
    public void windowClosing( WindowEvent e ) 
      {
     f.dispose();
      } 
    } ); 
            }
    }
      

  9.   

    代码我改了改,应该可以实现你所说的了。
    import java.awt.*; //
    import java.awt.event.*;
    public class tt extends Frame
    {
            public boolean handleEvent(Event evt)
            {
                    if(evt.id == Event.WINDOW_DESTROY) System.exit(0);
                    return super.handleEvent(evt);
            }
            public void paint(Graphics g)
            {
                    g.drawString("hello!",75,100);
            }
            public static void main(String[] args)
            {
                   final Frame f = new Frame();
                    f.resize(300,200);
                    f.show();
                    f.addWindowListener(new WindowAdapter() 
    {
    public void windowClosing( WindowEvent e ) 
      {
     f.dispose();
      } 
    } ); 
    final tt test=new tt();
    test.setSize(400,500);
    test.show();
    test.addWindowListener(new WindowAdapter() 
    {
    public void windowClosing( WindowEvent e ) 
      {
     test.dispose();
     System.exit(0);
      } 
    } ); 
            }
    }
      

  10.   

    楼主,Frame f = new Frame();
         f.resize(300,200);
    f.show();
    这几句是多余的,你可以试试我改的代码(调试过了,可以运行的),再把创建Frame f的那部分代码注释掉看看,有什么不一样。
      

  11.   

    多谢fucr_364204,看来尽信书不如无书啊,多半是书写错了,然后我有错误的照搬来了。
      

  12.   

    多谢fucr_364204,多半是书写错了,然后被我错误的照搬过来的缘故。
    送大家一句话:尽“信”书则不如无书。