java事件处理4(焦点,键盘

FocusEvent焦点事件

接口

addFocusListener(FocusListener listener)

有两个方法

public void focusGains(FocusEvent e)
public void focusLost(FocusEvent e)

测试代码

class MyWin extends JFrame{
    JTextField text1,text2;
    JButton button1,button2;
    MyWin(){
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
        text1=new JTextField(8);
        add(text1);
        setLayout(new FlowLayout());
        FocusPolice focusPolice1=new FocusPolice();
        text1.addFocusListener(focusPolice1);
        add(new JButton("click"));
    }
}

class FocusPolice implements FocusListener{
    public void focusGained(FocusEvent e){
        System.out.print("11");
    }
    public void focusLost(FocusEvent e){
        System.out.print("22");
    }
}


键盘事件

addKeyLIstener(KeyEvent e)

KeyListener 有三个接口

publice void keyPressed(KeyEvent e)//按下键盘
publice void keyReleased(KeyEvent e)//释放键盘
publice void keyTyped(KeyEvent e)//一套动作

KeyEvent有两个方法

getKeyCode()//返回一个键码值,但不知道我总是返回0
getKeyChar()//返回键上的字符

一个自动跳文本框的代码

class MyWin extends JFrame{
    JTextField text[]=new JTextField[3];
    JButton button1,button2;
    MyWin(){
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void init(){
        setLayout(new FlowLayout());
        KeyPolice keyPolice1=new KeyPolice();
        for(int i=0;i<3;i++){
            text[i]=new JTextField(8);
            text[i].addKeyListener(keyPolice1);
            text[i].addFocusListener(keyPolice1);
            add(text[i]);
        }
        text[1].requestFocusInWindow();
        add(button1=new JButton("click"));
    }
}

class KeyPolice implements KeyListener,FocusListener{
    public void keyPressed(KeyEvent e){}
    public void keyReleased(KeyEvent e){}
    public void keyTyped(KeyEvent e){
        JTextField text1=(JTextField)e.getSource();
        if(text1.getText().length()>=6)//有7个才会跳
            text1.transferFocus();//跳函数
    }
    public void focusGained(FocusEvent e){
//        JTextField text=(JTextField)e.getSource();//看起来没有用
//        text.setText(null);
    }
    public void focusLost(FocusEvent e){}
}
时间: 2024-12-23 03:18:27

java事件处理4(焦点,键盘的相关文章

8.JAVA之GUI编程键盘码查询器

程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本内,另存为运行.bat. 4.双击运行.bat批处理即可执行,当前窗体必须为软件界面才能查询. 批处理代码: @echo off javac Keyboard_events.java java Keyboard_events @pause del *.class Java代码: import jav

JAVA问题总结13-从键盘输入并输出

JAVA问题总结13-从键盘输入并输出,加从键盘输入三个数,输出并按从大到小排序. package java2; /** * 这是一个从键盘输入并输出的一个test * @author xubo601450868 * @time 2015.8.26 * @version v1.0 * */ import java.util.Scanner; public class test4 { public static void main(String[] args){ Scanner s=new Sca

Java I/O读取键盘输入

原文地址:http://blog.csdn.net/qingdujun/article/details/41175021 实现从键盘输入一行数据,并输出在屏幕上面. package io.dol.sn; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStr

从零开始理解JAVA事件处理机制(2)

第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事件驱动模型初窥 我们要说事件驱动模型是观察者模式的升级版本,那我们就要说说其中的对应关系: 观察者对应监听器(学生) 被观察者对应事件源(教师) 事件源产生事件,监听器监听事件.爱钻牛角尖的朋友可能会说,我擦,什么叫产生事件,监听事件,事件事件到底什么? 莫慌,如果我们用代码来说事,事件源它就是个类,事件就是

JAVA之IO技术键盘录入 System.in

package ioTest.io2; import java.io.IOException; import java.io.InputStream; /* *键盘录入:如果录入的是一行数据打印,如果录入了over就结束录入 *System.in:标准输入流对象 *System.out:标准输出流对象 */ public class ReadIn { public static void main(String[] args) throws IOException { //read2(); re

从零开始理解JAVA事件处理机制(3)

我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们点击鼠标,鼠标发送指令,执行代码. 一:鼠标点击事件处理模型基础版 这个时候,我们必须去查看下JDK中相关类型.对照着上一节<从零开始理解JAVA事件处理机制(2)>中的UML图,我们很快发现,对应HomeworkListener,JDK中有MouseListener,其实我们靠分析也能得知,Mo

[转]Java事件处理机制- 事件监听器的四种实现方式

原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: Java代码   import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty([email protected]) *@version 200

从0开始学大数据-Java基础-三元运算符/键盘录入(4)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节了解Java运算符,其中三元运算符没有做讲解,本节我们开始学习Java基础-三元运算符/键盘录入,将会围绕以下几个知识点进行展开学习: 三元运算符 键盘录入数据 一.运算符 1.三元运算符 接着上一节的话题运算符,本节讲三元运算符,在讲三元运算符之前,可能会有很多朋友会问,是不是有一元运

Java事件处理

1.事件的处理过程,主要涉及三类对象: Event Source(事件源):事件发生的场所,通常就是各个组件,例如:按钮.窗口.菜单等等. Event(事件):事件封装了GUI组件上发生的特定事情(通常就是一次用户操作).(EventObject) EventListener(事件监听器):负责监听事件源发生的事件,并对各种事件做出相应处理. 2.AWT事件处理机制:一种委派式(Delegation)事件处理方式. AWT事件处理机制的步骤: 实现事件监听器类,该监听器类是一个特殊的Java类,