本帖最后由 jiuweishensuan 于 2013-09-08 15:48:05 编辑

解决方案 »

  1.   

    你看下api:
    处理窗口事件的类要么实现此接口(及其包含的所有方法),要么扩展抽象类 WindowAdapter(仅重写所需的方法)。然后使用窗口的 addWindowListener 方法将从该类所创建的侦听器对象向该 Window 注册。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法,并将 WindowEvent 传递给该方法。 
      

  2.   

    /**
    实现了WindowListener接口的实现的操作示例,该接口中的方法很多,
    只要实现了该接口必须实现其中的多个方法,不好用.
    */import javax.swing.JFrame;
    import java.awt.Color;
    import java.awt.event.WindowListener;
    import java.awt.event.WindowEvent;class MyWindowEventHandle implements WindowListener
    {
    @Override
    public void windowActivated(WindowEvent e)
    {
    System.out.println("windowActivated--> 窗口被选中");
    }

    @Override
    public void windowClosed(WindowEvent e)
    {
    System.out.println("windowClosed-->窗口被关闭");
    }

    @Override
    public void windowClosing(WindowEvent e)
    {
    System.out.println("windowClosing-->窗口正在关闭");
    System.exit(1);
    }

    @Override
    public void windowDeactivated(WindowEvent e)
    {
    System.out.println("windowDeactivated-->失去窗口");
    }

    @Override
    public void windowDeiconified(WindowEvent e)
    {
    System.out.println("windowDeiconified-->窗口从最小化恢复");
    }

    @Override
    public void windowIconified(WindowEvent e)
    {
    System.out.println("windowIconified-->窗口最小化");
    }

    @Override
    public void windowOpened(WindowEvent e)
    {
    System.out.println("windowOPended-->窗口被打开");
    }
    }
    public class WindowEventDemo1
    {
    public static void main(String[] args)
    {
    JFrame frame = new JFrame("windowEvent测试");
    frame.addWindowListener(new MyWindowEventHandle());
    frame.setSize(300, 200);
    frame.setLocation(400, 300);
    frame.setBackground(Color.ORANGE);
    frame.setVisible(true);
    }
    }
    把以上的代码拷贝到自己的机子上运行就看一看就知道了.
      

  3.   

    Thankyou 这个一遍就清楚了,还有个问题,界面画图时,最小化一下界面图就没了。后来,在WindowActivitied函数中写了画图函数,怎么还是不可以啊?