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){}
}

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

  1. java事件处理机制

    java中的事件机制的参与者有3种角色:   1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...

  2. Java事件处理机制(深入理解)

    本文是关于Java事件处理机制的梳理,以及有重点的介绍一些注意点,至于基础的概念啥的不多赘述. 一.Java事件处理机制初步介绍(看图理解) 根据下图,结合生活实际,可以得知监护人可以有多个,坏人对小 ...

  3. java 事件监听 - 键盘

    java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...

  4. 从零开始理解JAVA事件处理机制(1)

    “事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是 ...

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

    第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...

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

    我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...

  7. java 事件处理

    Java事件处理机制:EventObject类作为描述事件信息的事件信息类的基类,由EventListener接口派生新的接口或类来作为事件接收方的类,再定义事件源类. 事件信息类的构造方法必须含有事 ...

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

    原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: ...

  9. Java编程中获取键盘输入实现方法及注意事项

    Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...

  10. java代码实现从键盘输入编号,输出价格,并且不再编号内的,无效输入!!!!

    总结:请给我更好的建议 package com.badu; import java.util.Scanner; //从键盘输入次数,通过输入的编号,输出对应的的商品价格: public class t ...

随机推荐

  1. FileUpload 改变控件显示的文字

    浏览

  2. linux kernel

    first step. http://www.cyberciti.biz/faq/howto-install-kernel-headers-package/ http://uliweb.clkg.or ...

  3. PL/SQL 动态SQL

    declare msql varchar2(200); row_id varchar2(200); begin loop row_id := 'AAATGiAAEAAAuLLAAA'; msql := ...

  4. SQL 2008 如何配置远程连接

    初次接触sql2008 相比05 改观还是挺大的 在配置方面 如何打开"远程连接" 成了最棘手的   到网上找了大半天资料    依然云里雾里 参考网上的众多资料 结合本人的实际经 ...

  5. Visual Studio创建跨平台移动应用_02.Cordova Extension

    1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...

  6. F - True Liars - poj1417(背包+并查集)

    题意:有这么一群人,一群好人,和一群坏人,好人永远会说实话,坏人永远说假话,现在给你一组对话和好人与坏人的数目P1, P2. 数据里面的no是A说B是坏人, yes代表A说B是好人,就是这样,问题能不 ...

  7. 剑指offer---3

    1.反转单链表,输入链表的头节点,输出该链表,并输出反转后的头节点 这个题目不用再说了,写过N边了 SLnode reverse(SLnode head) { SLnode reverse_head ...

  8. ubuntu14.04 安装tar.gz文件

    UBUNTU14.04 中tar.gz安装方法 # 是root用的,如果想一直用就要先root设置密码sudo passwd root.$ 一般用户 root@big-System-Product-N ...

  9. SQL给查询结果加序号

    情境:在用delphi7编程时,想要给查询出的结果一个编号,比方有一万条结果,就自己主动从1编号到10000 显示数据时用的是DBGrid控件,可是它的第一列无法非常好的显示编号,找了非常多方法都不能 ...

  10. 杭电 2047 阿牛的EOF牛肉串 (递推)

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...