GUI---监听

事件处理机制分为三个重要概念:

事件:用户对组件的一个操作称之为一个事件。
事件源:发生事件的组件称之为事件源。
事件处理器:java类中负责处理事件的一个方法,也称之为监听器。
当然,这三个概念很简单,事件源发生事件时将事件传给监听器,监听器根据不同的事件给出不同的处理方案。

窗口监听:

WindowAdapter是一个接口,此接口有监听事件的各种方法。当你想调用该接口中的某一方法时,就使用WindowAdapter适配器

import java.awt.Frame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class GuiDemo {
   public static void main(String[] args) {
       // TODO Auto-generated method stub
       // 创建窗体
       Frame f = new Frame();

       f.setVisible(true);
       // 设置窗体
       f.setSize(300, 500);
       // 创建窗口监听器
       f.addWindowListener(new WindowAdapter() {

           @Override
           // 使用关闭窗口时的方法。
           public void windowClosing(WindowEvent arg0) {
               System.out.println("aaa");
               // 关闭窗口
               f.dispose();
           }

       });
   }

}

鼠标监听:


import java.awt.Button;
import java.awt.Frame;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class GuiDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // 创建窗体
        Frame f = new Frame();

        f.setVisible(true);
        // 设置窗体
        f.setSize(300, 500);
        Button bu = new Button("oiasbdfug");
        // 给鼠标上添加监听器
        bu.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent arg0) {
                System.out.println("鼠标单击了");
            }

            @Override
            public void mouseEntered(MouseEvent arg0) {
                // TODO Auto-generated method stub
                System.out.println("鼠标进入了");
            }

            @Override
            public void mouseExited(MouseEvent arg0) {
                // TODO Auto-generated method stub
                System.out.println("鼠标移动了");
            }

        });
        f.add(bu);
    }

}

鼠标监听:


import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class GuiDemo {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // 创建窗体
        Frame f = new Frame();

        f.setVisible(true);
        // 设置窗体
        f.setSize(300, 500);
        TextField tx = new TextField(300);
        // 给文本框上添加键盘监听
        tx.addKeyListener(new KeyListener() {

            @Override
            public void keyPressed(KeyEvent e) {
                // TODO Auto-generated method stub
                char ch = e.getKeyChar();
                int i = e.getKeyCode();
                String s = e.getKeyText(i);
                System.out.println(ch + "" + i + "" + s);
            }

            @Override
            public void keyReleased(KeyEvent arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void keyTyped(KeyEvent arg0) {
                // TODO Auto-generated method stub

            }

        });
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 面向对象主要针对面向过程。 面向过程的基本单元是函数。 什么是对象:EVERYTHING IS OBJECT(万物...
    sinpi阅读 4,793评论 0 4
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,938评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,850评论 19 139
  • 父亲的手是一双农民的手, 黝黑,粗糙,骨节肿大, 他割过麦子,剜过大蒜, 拾过棉花,起过猪圈, 那双手耕耘四季, ...
    枯藤残鸦阅读 1,612评论 0 2
  • 现在,我终于卸掉了一个“包袱”,尽管是周末,回家已是很晚,但很懒得开口。 就半躺在沙发上盯着天花板盯着电视,好像盯...
    吴大姐姐阅读 1,792评论 2 1

友情链接更多精彩内容