博为峰Java技术文章 ——JavaSE Swing焦点事件的处理

博为峰小博老师:

如果在用户程序界面上有多个组件,但每次也只能操作一个组件,也就是说每次操作的焦点只能停留在一个组件上。基本上所有的组件都产生焦点事件

焦点事件的接口中的方法主要有下面两种,如下所示。

下面将给出一个实例,通过实例来讲解焦点事件的处理过程,实例程序代如下所示:

publicclassBWFextendsJFrameimplementsFocusListener{

publicstaticintWIDTH=400;

publicstaticintHEIGHT=300;

Listinfo=newList(10);

JTextFieldtf=newJTextField("");

JButtonbutton=newJButton("确定");

publicBWF() {

super("博为峰教育");

add(info,BorderLayout.NORTH);

add(tf,BorderLayout.CENTER);

add(button,BorderLayout.SOUTH);

tf.addFocusListener(this);

}

publicvoidfocusGained(FocusEvent e) {

if(e.isTemporary()){

info.add("暂时性获得");

}

else

info.add("长久性获得");

}

publicvoidfocusLost(FocusEvent e) {

if(e.isTemporary()){

info.add("暂时性获得");

}

else

info.add("长久性获得");

}

publicstaticvoidmain(String args[]){

BWF b=newBWF();

b.setSize(WIDTH,HEIGHT);

b.setVisible(true);

}

}

上面的实例主要实现了一个焦点的获得与失去后的事件处理过程,当获得焦点时到会输出获得焦点的字样,当失去焦点时则输出失去焦点的字样。由以上实例可以看出,焦点事件处理其实很简单,实现焦点监听接口中的方法即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容