本文中的示例介绍了java GUI编程拦截操作。 分享仅供参考。 具体如下。
单击框架的组件可以产生相应的效果,但必须进行相应的拦截,以确定其对象、其操作。 但是,在cup上主动监听会消耗大量资源,因此被动监听(即相应的事件)会自动执行相关代码。
Button拦截:
实例1 :
import java.awt.*;
导入Java.awt.event.*;
公共类监视器启动{
publicstaticvoidmain (字符串[ ] args ) {
帧f=new frame (;
buttonb=newbutton('press );
f.add(b,BorderLayout.CENTER );
MyMonitor bh=new MyMonitor (;
b .补充监听器(BH;
f.set bounds (100、100、300、300 );
f .设置可见(true;
}
}
classmymonitorimplementsactionlistener {
公共语音性能(活动e ) {
system.out.println('aah );
}
}
进行被动监听,要确定是哪里发出的什么类型的componet,不能提供所有的信息,所以我们先建设事件感知对象,它都实现了接口,在事件发生时也就是说,它是“实施动作监听器”,相应的实现方法是请求提供事件动作。
实例2 :
import java.awt.*;
导入Java.awt.event.*;
公共类监视器2 {
publicstaticvoidmain (字符串[ ] args ) {
帧f1=new frame (;
buttonB1=newbutton(start );
button B2=新button (stop );
B1.setactioncommand('theend ' );
F1.add(B1,BorderLayout.CENTER );
f1.add(B2,BorderLayout.SOUTH );
MyMonitor1 bh=new MyMonitor1(;
B1 .附加监听器(BH;
B2 .附加监听器(BH;
f1.set bounds (100、100、300、300 );
f1 .设置可见(真);
}
}
classmymonitor 1实施服务监听器{
公共语音性能(活动e ) {
系统. out.println (aahyougetit ' e.getactioncommand ) );
}
}
注:如果监听程序监听多个button对象,则可以使用setActionCommand进行区分。 这相当于属性或标记。
TextField (文本输入侦听) ) ) )。
实例3
import java.awt.*;
导入Java.awt.event.*;
公共类TF监视器{
publicstaticvoidmain (字符串[ ] args ) {
新TF帧(;
}
}
类TF框架{
TFFrame () }
framef=newframe('TF );
TextField tf=new TextField (;
f .添加(TF;
TF .附加监听器(newtfframemonitor );
f.set bounds (100、100、300、300 );
f .设置可见(true;
}
}
/*
class TF帧扩展帧{
TFFrame () }
//framef=newframe('TF );
TextField tf=new TextField (;
添加(TF;
TF .附加监听器(newtfframemonitor );
//f.set bounds (100、100、300、300 );
set bounds (100、100、300、300 );
设置可见(true;
}
}
*/
classtfframemonitorimplementsactionlistener {
公共语音性能(活动e ) {
textfieldtext=(textfield ) e.getSource );
system.out.println (text.gettext () );
//text.settext () null;
}
}
TextField是输入文本类的组件,对于Frame类,可以直接用Frame构造方法构建,直接生成一个Frame的对象,另一个可以直接继承Frame
注意:上面的settext(null )相当于输入完成并按回车键时,输入框中的数据将自动清空。 否则,它还会继续存在。
实例4 :
import java.awt.Frame;
import java.awt.TextField;
import Java.awt.event.actionevent;
导入Java.awt.event.action listener;
公共类TF帧2监视器{
publicstaticvoidmain (字符串[ ] args ) {
新TF帧2 (;
}
}
class TF frame 2扩展框架{
TF帧2 () }
TextField tf=new TextField (;
添加(TF;
TF.addaction listener (newtfframemonitor2);
TF.setechochar('* ';
set bounds (100、100、300、300 );
设置可见(true;
}
}
classtfframemonitor 2实施服务监听器{
公共语音性能(活动e ) {
textfieldtext=(textfield ) e.getSource );
system.out.println (text.gettext () );
text.settext(null );
}
}
只是将setEchoChar添加到Text Filed对象中,以表示输入后的表面显示。 如果没有,输入任何内容将显示任何内容,添加内容将被复盖,就像输入密码一样。
希望本文的描述对大家的java编程有帮助。