为什么我不能在这个 Java 程序中触发按钮点击事件?
Why can't I trigger a button click event in this Java program?
我遇到了一个使用 AWT (Frame) 制作的 GUI 应用程序,其中有一个名为 "CLOSE" 的按钮,单击该按钮会调用函数 function()。我读过的书显示了通过 handleEvent() 方法处理此事件。问题是这本书有一个印刷错误,我无法理解触发按钮被点击事件的语法。我用谷歌搜索但找不到任何帮助。我正在输入下面的代码片段供您参考。请用正确的语法帮助我。
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);
}
我只是创建了一个扩展 java.awt.Frame
的 class
class 中的这段代码工作正常
@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 );
}
根据比较来判断,e.get 想要 e.getComponent()
在法案所说的之上。
if(e.get instance of Button){
-需要-
if(e.getComponent() instanceof Button){
另外 return 我认为这里的声明是无法访问的。我猜 System.exit(0);可能会失败,没有它会抛出编译警告。
System.exit(0);
return true;
我遇到了一个使用 AWT (Frame) 制作的 GUI 应用程序,其中有一个名为 "CLOSE" 的按钮,单击该按钮会调用函数 function()。我读过的书显示了通过 handleEvent() 方法处理此事件。问题是这本书有一个印刷错误,我无法理解触发按钮被点击事件的语法。我用谷歌搜索但找不到任何帮助。我正在输入下面的代码片段供您参考。请用正确的语法帮助我。
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);
}
我只是创建了一个扩展 java.awt.Frame
的 class
class 中的这段代码工作正常
@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 );
}
根据比较来判断,e.get 想要 e.getComponent()
在法案所说的之上。
if(e.get instance of Button){
-需要-
if(e.getComponent() instanceof Button){
另外 return 我认为这里的声明是无法访问的。我猜 System.exit(0);可能会失败,没有它会抛出编译警告。
System.exit(0);
return true;