`
VaxVall
  • 浏览: 20886 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

XXXListener监听器

    博客分类:
  • GUI
阅读更多
package testDemo1;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


/*
 * 组件.addXXXListener(new XXXAdapter(){
 * 
 *     public void methodname(XXXEvent e){}    
 *     
 *     });    
 *     
 *     */
public class FrameTest {

	public static void main(String[] args) {
		Frame f = new Frame("我的第一个窗口");// 该窗口默认不显示
		f.setSize(400, 600);// 设置窗口大小
		f.setLocation(500, 50);// 设置窗口显示位置
		f.setVisible(true);// 显示窗口
        
		//添加一个按钮组件
		Button but = new Button("my button");// 按钮设置为中文可能会出现乱码
		f.setLayout(new FlowLayout());// 默认是边界式布局(按钮巨大),因此需要在主面板中设置布局
		f.add(but);// 添加按钮到面板
		
		//添加一个文本框组件
		TextField tf = new TextField(40);//文本框的长度设置为40
		TextField tf2 = new TextField(40);//第二个文本框
		f.add(tf);
		f.add(tf2);

		but.addActionListener(new ActionListener() {// 按钮操作的监听器
			
			@Override
			public void actionPerformed(ActionEvent e) {// 只有这样一个可重写的方法
				System.out.println("按钮被触发" + e);
			}
			
		});
		
		but.addMouseListener(new MouseAdapter() {//鼠标操作的监听器

			@Override
			public void mouseClicked(MouseEvent e) {
				System.out.println("鼠标单击");
				
				if(e.getClickCount() == 2) {//如果按键次数为2次
					System.out.println("鼠标双击");
				}
			}
			
		});

		f.addWindowListener(new WindowAdapter() {// 窗口的监听器
			
			@Override
			public void windowClosing(WindowEvent e) {
				System.out.println("窗口关闭");// 命令行输出窗口关闭
				System.exit(0);// 关闭进程(这两行代码顺序不能颠倒)
			}
			
		});
		
		tf.addKeyListener(new KeyAdapter() {

			@Override
			public void keyPressed(KeyEvent e) {
				char key = e.getKeyChar();
				int code = e.getKeyCode();
				System.out.println("按下的按键是:"+key);//这样只能输出ABCD等按键
				System.out.println("按下的按键是:"+KeyEvent.getKeyText(code));//这样可以输出其他按键
				System.out.println("按键的ASCII码是"+code);
			}

			
			
		});
		
		tf2.addKeyListener(new KeyAdapter() {

			@Override
			public void keyPressed(KeyEvent e) {
				int code = e.getKeyCode();
				if(!(code >= KeyEvent.VK_0 && code <= KeyEvent.VK_9)) {//如果按键不是0-9(非小键盘)
					System.out.println("必须是0-9的数字");
				}
			}
			
		});

	}

}

分享到:
评论

相关推荐

    浅谈Java图形界面事件处理的方法.pdf

    事件监听器(XXXListener)首先要与其监听的组件(即事件源)建立关联,即事件源注册监听器,当组件上发生交互作用时,组件会自动产生一个相对应的事件对象(XX XEvent),并将该事件对象的引用传递给与之相关联的...

    Java事件处理机制教学方法探讨.pdf

    在Java中,事件监听器接口通常命名为`XxxListener`,与处理的事件类相对应。 ### 2. Java事件处理机制流程 事件处理过程可以分为以下几个步骤: 1. 事件监听器与事件源建立关联,即为事件源注册监听器。 2. 用户...

    java Swing学习之事件与事件处理器模型.pdf

    2. 创建事件监听器接口:如XXXListener,该接口继承自EventListener,并声明一系列处理方法,对应不同的事件行为。 ```java public interface XXXListener extends EventListener { void action1(XXXEvent evt); ...

    javaSwing学习之事件与事件处理器模型借鉴.pdf

    Swing的事件处理模型采用了一种基于观察者模式的设计,允许组件触发自定义逻辑事件,并由感兴趣的监听器进行处理。 首先,事件类(Event)通常是Swing组件内部事件的表示。例如,`XXXEvent`是特定于组件的事件类型...

    JAVA基础-GUI

    * 事件监听器:是指可以触发某一个事件的动作的对象 事件监听机制的流程图为: 1. 确定事件源 2. 通过事件源对象的addXXXListener()方法将侦听器注册到该事件源上 3. 该方法中接收XXXListener的子类对象,或者...

    HP-Socket v3.1.1 正式版

    (1) 调用 ::Create_HP_XxxListener() 函数创建监听器对象 (2) 调用 ::Create_HP_Xxx(pListener) 函数创建 HPSocket 对象 (3) 调用 ::HP_Set_FN_Xxx_OnYyy(pListener, ...) 函数设置监听器的回调函数 (4) 调用相关...

    2022年计算机等级二级JAVA押密试题.docx

    1. **事件监听器**:Java中的事件监听是GUI编程中的重要概念,`addXXXListener` 是添加监听器的方法,例如 `addActionListener` 添加动作监听器,而 `XXXListener` 是具体的监听器接口,如 `ActionListener`。...

    剖析Java中的事件处理与异常处理机制

    2. 为事件源对象注册监听器:`事件源对象.addXXXListener(XXXListener);` 3. 实现监听器接口中的方法。如果接口包含多个方法,可以选择继承Adapter类,只重写需要的方法。 例如,处理按钮事件,需要关注`...

    Java Web项目中编写定时任务的实现

    `task:scheduler`配置项指定了一个线程池大小为200的调度器,`task:annotation-driven`则允许我们在bean上使用`@Async`和`@Scheduled`注解。 `@Scheduled`注解可以用于标记需要定时执行的方法,如: ```java @...

Global site tag (gtag.js) - Google Analytics