我遇到了一个使用AWT(Frame)制作的GUI应用程序,其中有一个名为" CLOSE"点击后会调用函数 function()。我读过的这本书展示了从 handleEvent()方法处理这个事件。问题是这本书有一个印刷错误,我无法理解触发按钮被点击事件的语法。我用Google搜索但无法找到任何帮助。我正在输入以下代码的片段供您参考。请帮我正确的语法。
public boolean handleEvent(Event e){
if(e.get instance of Button){ //this line has a problem
if(e.arg.equals("CLOSE"){
function(); //calls a function
return true;
}
}
return super.handleEvent(e);
}
答案 0 :(得分:0)
我只是创建一个扩展java.awt.Frame
的类
并且该类中的代码工作得很好
@Override
public boolean handleEvent ( Event evt ) {
if ( evt.target instanceof Button ) { //this line hasn't a problem
if ( evt.arg.equals ( "CLOSE" ) ) {
System.exit ( 0 ); //calls a function
return true;
}
}
return super.handleEvent ( evt );
}
答案 1 :(得分:0)
根据比较判断,看起来e.get希望在法案所说的e.getComponent()
之上。
if(e.get instance of Button){
- 需要 -
if(e.getComponent() instanceof Button){
此外我相信的返回声明无法访问。我猜System.exit(0);可能会失败,它会在没有它的情况下发出编译警告。
System.exit(0);
return true;