Java事件基础
package cn.Douzi.Event; import javax.swing.*;
import java.awt.*;
import java.awt.event.*; public class Demo_moreListener extends JFrame { Mypanel mp = null; public Demo_moreListener() {
// TODO Auto-generated constructor stub
mp = new Mypanel(); this.add(mp);
//注册监听
this.addMouseListener(mp);
this.addKeyListener(mp);
this.addMouseMotionListener(mp);
this.addWindowListener(mp); this.setSize(400, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { Demo_moreListener test = new Demo_moreListener();
test.setVisible(true);
} } //1.让Mypanel知道鼠标按下的消息,并且知道点击的位置(x,y)
//2.让Mypanel知道哪个键按下
//3.让MyPanel知道鼠标移动,拖拽
//4.让MyPanel知道窗口的变化:变化,最小化,最大化
class Mypanel extends JPanel implements WindowListener, MouseListener, KeyListener, MouseMotionListener { @Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub } //窗口正在关闭
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("正在关闭........");
} //窗口关闭
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub } @Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub } //窗口最小化
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
} //窗口激活
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("窗口激活");
} @Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("窗口最小化");
} //鼠标移动
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标移动");
} //键事件
//键输入q w F1
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub } //键按下,未松开
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println(e.getKeyChar() + "键被按下");
} //键松开
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub } //鼠标点击
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标点击了 x = " + e.getX() + "y = " + e.getY());
} //鼠标按下,但是还没有松开事件
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub } //鼠标按下,然后 松开 的事件
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub } //鼠标移动到Mypanel
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标来"); } //鼠标离开Mypanel
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
System.out.println("鼠标走");
} @Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
} }
Java事件基础的更多相关文章
- [转]Java多线程干货系列—(一)Java多线程基础
Java多线程干货系列—(一)Java多线程基础 字数7618 阅读1875 评论21 喜欢86 前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们 ...
- Java script基础
Java script基础 Js的每个语句后面都要有分号. <script type="text/java script">所有JS内容</script> ...
- Android开发之Java必备基础
Android开发之Java必备基础 Java类型系统 Java语言基础数据类型有两种:对象和基本类型(Primitives).Java通过强制使用静态类型来确保类型安全,要求每个变量在使用之前必须先 ...
- JAVA面试基础
JAVA相关基础知识1.面向对象的特征有哪些方面 ?1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂 ...
- Java 并发基础
Java 并发基础 标签 : Java基础 线程简述 线程是进程的执行部分,用来完成一定的任务; 线程拥有自己的堆栈,程序计数器和自己的局部变量,但不拥有系统资源, 他与其他线程共享父进程的共享资源及 ...
- [ Java学习基础 ] Java的继承与多态
看到自己写的东西(4.22的随笔[ Java学习基础 ] Java构造函数)第一次达到阅读100+的成就还是挺欣慰的,感谢大家的支持!希望以后能继续和大家共同学习,共同努力,一起进步!共勉! ---- ...
- [ Java学习基础 ] Java的抽象类与接口
一.抽象类 1. 抽象类 Java语言提供了两种类:一种是具体类:另一种是抽象子类. 2. 抽象类概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的 ...
- Java - 33 Java Applet基础
Java Applet基础 applet是一种Java程序.它一般运行在支持Java的Web浏览器内.因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序. 如下所示是独 ...
- java并发基础(二)
<java并发编程实战>终于读完4-7章了,感触很深,但是有些东西还没有吃透,先把已经理解的整理一下.java并发基础(一)是对前3章的总结.这里总结一下第4.5章的东西. 一.java监 ...
随机推荐
- MAVEN ERROR maven-resources-plugin
maven新建项目时报错 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin: ...
- java equals()方法的注意事项
1.在写代码的时候,我们有时候需要判断两个相同类的对象的值是否全部相等,很多人想到的就是equals()方法,但是equals方法真的是可以比较吗?其实equals方法比较的并不是两个对象的值,它只是 ...
- mac上查找nginx安装位置
在终端输入: nginx -V 查看nginx版本及安装的本地位置 ngxin -v 查看nginx版本(此方法依然可以检测是否安装某一软件,如git,hg等)
- Scrum 项目7.0——第一个Sprint的演示和回顾
MY—HR 成员: 角色分配 学号 博客园 团队贡献分 丘惠敏 PM项目经理 201406114203 http://www.cnblogs.com/qiuhuimin/ 21 郭明茵 用户 2014 ...
- 10th 知识点学习:单元测试
1.书中所在位置:构建之法第二章,19页—28页. 2.大致内容:书中是以案例的形式引入的介绍,具体讲述什么是单元测试,即程序员小飞进行练习单元测试,经过一系列的代码更改之后,终于成功实现.通过事后小 ...
- cxGrid使用汇总
1.自动行高:CellAutoHeight(单元自动高度)设置为True. procedure <AForm>.<AGridColumn>PropertiesValidate( ...
- python杂谈:Python中\r的用法示例
\r 默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容 import sys import time def view_bar(num,total): rate = floa ...
- Java的Bean
Bean的定义 遵循Sun的Java Bean规范编写的特殊类 Java Bean的规范 类的访问控制权限是public 类提供有一个无参的构造函数 类的属性的访问控制权限是private,通过set ...
- jmeter发送json数据,报405、400错误解决方案
1.405错误解决方案:添加HTTP信息头管理器(错误因数:发送格式未设置) 2.400错误解决方案:json文本格式有误(注意:换行.空格等)解决方案:对照json文本数据(错误因数:发送的json ...
- 基于c的简易计算器一
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h&g ...