0

我有一个扩展 AbstractAction 的 actionSave 类。我用它来保存按钮。我想在其他地方运行与按钮相同的瞬间。我得出结论如下使用它,但我不知道该传递什么作为论点?

model.getActionSave().actionPerformed("what should i add here for action event");
4

2 回答 2

4

将该方法的代码提取actionPerformed()到另一个不带参数的方法中,并改为调用此方法:

public void actionPerformed(ActionEvent e) {
    save();
}

public void save() {
    ...
}

...

model.getActionSave().save();
于 2012-06-13T16:11:20.620 回答
1

只需创建自己的ActionEvent,它有一个公共构造函数。例如

model.getActionSave().actionPerformed( 
 new ActionEvent( this, ActionEvent.ACTION_PERFORMED, "Save" )
);

如果您正在测试您的 UI,您还可以选择通过 API 执行单击按钮:

button.doClick();

但总的来说我更喜欢第一种方法,并避免与 UI 耦合

于 2012-06-13T16:21:18.300 回答