【发布时间】:2017-05-29 08:45:12
【问题描述】:
public class myWindow extends JFrame implements ActionListener{
如果我有这段代码,我的类将是一个 JFrame,我可以在其中添加组件并在构造函数中向它们添加 actionlistener,如下所示
public MyWindow()
{
JButton b = new Jbutton("button");
b.addActionListener(this);
}
这个关键字将作为一个匿名的 actionlistener 对象(这是我的类)对吗?
稍后我将使用标题覆盖 actionPerformed 方法:-
public void ActionPerformed(ActionEvent ae)
{ :
:
}
我真的很困惑..我的书说“侦听器对象调用事件处理程序方法,事件作为参数”
监听对象:this
事件处理方法:ActionPerformed(ActionEvent ae)
argument:我的事件是 JButton b .. 它不是 EventAction 类型时怎么会?如果是这样,我们为什么要使用:
ae.getActionCommand();
我认为这是一种告诉哪个组件触发事件的方法,为什么当组件作为参数传递时我们需要它呢?
【问题讨论】:
-
"this keyword will work as an anonymous actionlistener object(which is my class) right ?"-- 不,这不是匿名的 ActionListener。您正在让您的视图类实现接口,我们中的许多人都建议不要这样做。我们大多数人也建议不要扩展 JFrame。 -
不,您的 JButton 不是“事件”,而是源。这里的参数是一个由 Swing 创建的 ActionEvent 对象,它将对激活按钮的引用放入 ActionEvent 的源属性(通过调用
getSource()获得) -
这是我们从学期开始就使用的方式
-
我是一名学生 ..swing 对我来说是一个新概念。我们使用的编码方式使其变得更加复杂 ..我得到了满分,但仍然无法理解 GUI 的基础知识..你能推荐一些教程之类的吗
-
“你能推荐一些教程什么的吗”,是的,official one。我认为您对什么是动作和how to use them 感到困惑
标签: java swing actionlistener