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){}
}
java事件处理4(焦点,键盘的更多相关文章
- java事件处理机制
java中的事件机制的参与者有3种角色: 1.event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在与listerne ...
- Java事件处理机制(深入理解)
本文是关于Java事件处理机制的梳理,以及有重点的介绍一些注意点,至于基础的概念啥的不多赘述. 一.Java事件处理机制初步介绍(看图理解) 根据下图,结合生活实际,可以得知监护人可以有多个,坏人对小 ...
- java 事件监听 - 键盘
java 事件监听 - 键盘 //事件监听 //键盘事件监听,写了一个小案例,按上下左右,改变圆形的位置,圆形可以移动 import java.awt.*; import javax.swing.*; ...
- 从零开始理解JAVA事件处理机制(1)
“事件”这个词已经被滥用了.正因为“事件”的被滥用,很多人在用到事件的时候不求甚解,依样画葫芦,导致学习工作了很多年,还是不清楚什么是事件处理器.什么是事件持有者.所以,如果你对于Event这个词还是 ...
- 从零开始理解JAVA事件处理机制(2)
第一节中的示例过于简单<从零开始理解JAVA事件处理机制(1)>,简单到让大家觉得这样的代码简直毫无用处.但是没办法,我们要继续写这毫无用处的代码,然后引出下一阶段真正有益的代码. 一:事 ...
- 从零开始理解JAVA事件处理机制(3)
我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...
- java 事件处理
Java事件处理机制:EventObject类作为描述事件信息的事件信息类的基类,由EventListener接口派生新的接口或类来作为事件接收方的类,再定义事件源类. 事件信息类的构造方法必须含有事 ...
- [转]Java事件处理机制- 事件监听器的四种实现方式
原文来自http://stefan321.iteye.com/blog/345221 自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: ...
- Java编程中获取键盘输入实现方法及注意事项
Java编程中获取键盘输入实现方法及注意事项 1. 键盘输入一个数组 package com.wen201807.sort; import java.util.Scanner; public clas ...
- java代码实现从键盘输入编号,输出价格,并且不再编号内的,无效输入!!!!
总结:请给我更好的建议 package com.badu; import java.util.Scanner; //从键盘输入次数,通过输入的编号,输出对应的的商品价格: public class t ...
随机推荐
- 转:Hprose for php(一)——快速入门
文章来自于:http://blog.csdn.net/half1/article/details/21095665 本文参考了Hprose官方的用户手册,Hprose官网:http://www.hpr ...
- 转:聊聊并发(八)——Fork/Join框架介绍
1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 我们再通过 ...
- java浮点类型计算
java浮点类型需要采用java.math.*这个工具包,这样的计算结果才是我们想要的.呵呵 import java.math.BigDecimal; import java.text.NumberF ...
- [Poetize I]守卫者的挑战
描述 Description 打开了黑魔法师Vani的大门,队员们在迷宫 般的路上漫无目的地搜寻着关押applepi的监狱的所在地.突然,眼前一道亮光闪过.“我,Nizem,是黑魔法圣殿的守卫者.如果 ...
- HDU_1254——推箱子,两次BFS
这题做的一把鼻涕一把泪,果断考虑不周555 Problem Description 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱 ...
- 主持汇 - NEXT
主持汇 - NEXT 一个汇聚婚礼主持人才的平台
- Java 8 中新的 Date 和 Time 类入门详解
这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的 ...
- K - The Unique MST - poj 1679
题目的意思已经说明了一切,次小生成树... ****************************************************************************** ...
- 数组在C++和java中的区别
几乎所有的程序设计语言都支持数组.在C和C++中使用数组是很危险的.因为C和C++中的数组就是内存块.如果一个程序要访问其自身内存块之外的数组,或者在数组初始化之前使用它,都会产生难以预料的后果. j ...
- div+css 圆角加阴影
.test{ display: inline-block; padding: 5px 10px 6px; text-decoration: none; border-radius: 5px; -moz ...