有人能给我一个事件驱动架构的例子,一个理解它的简单架构,我有一个需要实现事件驱动架构的项目。
答案 0 :(得分:1)
最简单的方法可能是使用Swing或其他GUI工具包。
Swing正在实施事件驱动架构,因为与用户的每次交互都被建模为事件,您必须为特定类型的事件注册事件处理程序。例如。 ActionListener
收听用户按下按钮时发生的事件。
答案 1 :(得分:0)
更改对象的状态称为事件。事件包括鼠标单击,鼠标移动,单击按钮,选择单选复选框等。 Here's您需要了解的所有信息和方法。 举一个简单的例子,这是一个使用监听器的AWT(Java的GUI工具包)程序
import java.awt.*;
import java.awt.event.*;
class AEvent extends Frame implements ActionListener{
TextField tf;
AEvent(){
tf=new TextField();
tf.setBounds(60,50,170,20);
Button b=new Button("click me");
b.setBounds(100,120,80,30);
b.addActionListener(this);
add(b);add(tf);
setSize(300,300);
setLayout(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
tf.setText("Welcome");
}
public static void main(String args[]){
new AEvent();
}
}
答案 2 :(得分:0)
JSF还有一个事件驱动的结构。
控制器(处理用户活动)应该通过事件进行通信。这意味着Controller发布事件,并且将通知订阅此事件的每个其他Controller,从而可以执行某些操作。
以下示例使用googleEventBus发布和订阅事件。
// Controller which handles the action if an item is deleted:
public class DeleteItemController {
@Autowired
private EventBus eventBus;
public void deleteShow(MyItem item) {
// some action here calling a service...
eventBus.post(new ItemDeletedEvent(show));
}
}
// controller used to control all items
public class ItemListController {
@Subscribe
public void showDeleted(ItemDeletedEvent event) {
MyItem item = event.getDeletedItem();
// do some action
}
}