[英]Java: JButton actionListener explantation
我对JButton
如何工作非常困惑。 我已经阅读了JButton的oracle文档,但是我没有看到JButton如何添加actionlistener。 我真的总是想知道.addMouseListener
东西以及所有可以像.addMouseListener
这样的东西。 任何人都可以解释JButton
如何像.addActionListener(...)
语法一样添加一个actionListener?
我想知道如何做到这一点的原因是为每个人创建我自己的“JButton”,它可以添加一个actionListener,它会在需要时触发事件。 这甚至可能吗?
以下是您需要了解的架构。 首先,这里使用的设计模式是观察者模式 -
实现发布者/订阅者方案。 我们需要一种机制,允许我们在发布者对象改变状态时通知订阅者对象。
您可以在此处找到有关实施它的更多信息。
但是如果你的目标是创建自己的JButton,那么最好的方法是使用子类JButton。
class MyCustomButton extends JButton{}
您询问了JFrame
如何具有addMouseListener
- 这是因为JFrame
扩展了java.awt.Component
。 希望这可以帮助。
观察者没有做任何事情。 如果有任何变化,主体会通知观察员。 这是通知方法。
public void notify()
{
for (int i=0;i < observers.size();i++)
{
Observer ob = (Observer)observers.get(i);
ob.update(newValue);
}
}
再回到Packet和Bucket示例 - Packet - Observer Bucket - Subject
用于连接新数据包已进入存储桶的数据包。 在类中,Bucket类将调用notify方法,并且将通知所有已注册的数据包。 如果数据包希望从Bucket中取消订阅,则只需要调用Unsubscribe方法,它将从Bucket的ArrayList中删除Object。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.