WindowListener(附带适配器改良方案)

记忆力再次被折磨,求IDE助攻!  ps:顺便复习六级单词。。。

源代码:

import java.awt.event.WindowListener ;
import java.awt.event.WindowEvent ;
import java.awt.Color ;
import javax.swing.JFrame ;
class MyWindowEventHandle implements WindowListener
{
    public void windowActivated(WindowEvent e)
    {
        System.out.println("windowActivated---->窗口被选中") ;
    }

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

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

    public void windowDeactivated(WindowEvent e)
    {
       System.out.println("windowDeactivated---->取消窗口选中") ;
    }

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

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

    public void windowOpened(WindowEvent e)
    {
        System.out.println("WindowOpened---->窗口打开") ;
    }

} ;

class Tester
{
   public static void main(String args[])
   {
       JFrame frame = new JFrame("窗口监听") ;
       frame.addWindowListener(new MyWindowEventHandle()) ;
       frame.setSize(500,500) ;
       frame.setBackground(Color.orange) ;
       frame.setLocation(400,400) ;
       frame.setVisible(true) ;
   }
}

这样写显然太过冗余,下面介绍窗口监听适配器:如果只需要监听窗口关闭这一个动作,使用接口会造成代码过于冗余,因为要覆写WindowListener各个方法,这里就引出WindowAdapter设计模式,当然可以直接匿名内部类省去创建监听类的麻烦。直接上代码:这样就可以想监听什么就写什么,不需要写一堆冗余代码

import java.awt.event.WindowListener ;
import java.awt.event.WindowEvent ;
import java.awt.event.WindowAdapter ;  //适配器设计模式
import java.awt.Color ;
import javax.swing.JFrame ;
class Tester
{
   public static void main(String args[])
   {
      JFrame frame = new JFrame("匿名内部类") ;
      frame.addWindowListener(new WindowAdapter()
      {
         public void windowClosing(WindowEvent e)
         {
            System.out.println("窗口关闭") ;
            System.exit(1) ;
         }
      } ) ;  //匿名内部类配合适配器
      frame.setSize(400,400) ;
      frame.setLocation(400,400) ;
      frame.setVisible(true) ;
   }
}
时间: 2024-08-01 14:26:16

WindowListener(附带适配器改良方案)的相关文章

按键监听类KeyListener及适配器改良方案

导包导的恶心,真是马上要对notepad累觉不爱了,好在顺利导完.. 监听按键信息 //source code import java.awt.Color ; import java.awt.Font ; import java.awt.GridLayout ; import java.awt.event.ActionEvent ; import java.awt.event.ActionListener ; import java.awt.event.WindowListener ; impo

[转]Android开源项目分类汇总

我喜欢收集源码,如今这个时代,我觉得我们要做的不是做前人做过的事,而是学习他们的经验然后在这基础上创新做出更伟大的事. 转自https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView

Android 开源项目分类汇总

目前包括: Android 开源项目第一篇--个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他Android 开源项目第二篇--工具库篇  包括依赖注入.图片缓存.网络请求.数据库 ORM 工具包.Andro

Android开源项目分类汇总

转自https://github.com/Trinea/android-open-project Android开源项目第一篇——个性化控件(View)篇  包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style.其他Android开源项目第二篇—

Android常用酷炫控件(开源项目)github地址汇总

转载一个很牛逼的控件收集贴... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style 等等. 一.ListView android-pulltorefresh一个强大的拉动

Android 开源项目分类汇总(转)

## 第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView.GraphView.UI Style 等等. #### 一.ListView1. android-pulltorefresh  一个强大的拉动刷新开源项目

据说年薪30万的Android程序员必须知道的帖子

据说年薪30万的Android程序员必须知道的帖子 标签: android 2015-03-12 16:52 10443人阅读 评论(10) 收藏 举报 Android中国开发精英 目前包括: Android开源项目第一篇——个性化控件(View)篇       包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.ProgressBar.TextView.ScrollView.TimeView.TipView.FlipVi

GitHub上优秀的开源项目(转载)

转载出处:https://github.com/Trinea/android-open-project 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView. ProgressBar.TextView.ScrollView.TimeView.TipView.FlipView.ColorPickView. GraphView.UI Style 等等. 一.

各种轴的区别

来自贴吧的一片文章! 首先,为什么要买机械键盘. 也许很多人认为机械键盘的价格昂贵,动辄数百元甚至上千元,可以抵过十数把薄膜键盘的价格让很多人觉得这是一种奢侈品,那么,为什么不买一些较高级的薄膜键盘而非要弄那么一个昂贵的东西呢,那么就要解释一下机械键盘的若干优点了 不过在说优点之前,先介绍机械键盘的两个致命弱点,如果很在乎这两点的,就不必继续看下面的文章了: 其一,不防水,绝大部分机械键盘,是不防水的,完全的不防水,包括泼溅,都没有防护措施,因为机械键盘从技术上,与体积上,都无法做到很简单的密封