public interface IIOParamController
由可以确定
IIOParam 对象设置的对象实现的接口,可以通过建立 GUI 来从用户那里获取值,也可以通过其他方式。该接口仅指定调用控制器的通用activate方法,而不考虑控制器如何获取值(IE, 控制器是提供 GUI 还是仅仅计算一组值与此接口无关)。
在 activate 方法中,控制器通过查询 IIOParam 对象的 get 方法获取初始值,通过任何方式修改值,然后调用 IIOParam 对象的 set 方法来修改适当的设置。通常,这些 set 方法将在最终提交时一次性全部调用,以便取消操作不会干扰现有值。通常,应用程序可能期望当 activate 方法返回 true 时,IIOParam 对象已准备好用于读取或写入操作。
供应商可以选择为他们为特定插件定义的IIOParam 子类提供 GUI。这些可以在相应的 IIOParam 子类中设置为默认控制器。
应用程序可以覆盖任何默认的 GUI,并提供嵌入在自己框架中的自己的控制器。所需要的只是 activate 方法以模态方式运行(在取消或提交之前不返回),尽管它不需要建立一个明确的模态对话框。这种非模态 GUI 组件的编码大致如下:
class MyGUI extends SomeComponent implements IIOParamController {
public MyGUI() {
// ...
setEnabled(false);
}
public boolean activate(IIOParam param) {
// disable other components if desired
setEnabled(true);
// go to sleep until either cancelled or committed
boolean ret = false;
if (!cancelled) {
// set values on param
ret = true;
}
setEnabled(false);
// enable any components disabled above
return ret;
}
或者,数据库查找或命令行解析等算法过程可以用作控制器,在这种情况下,activate 方法将简单地查找或计算设置,调用 IIOParam.setXXX 方法,然后返回 true。
- 参见:
-
方法总结
-
方法详情
-
activate
激活控制器。如果返回true,则IIOParam对象中的所有设置都应准备好用于读取或写入操作。如果返回false,则不会干扰IIOParam对象中的任何设置(IE,用户取消了操作)。- 参数:
param- 要修改的IIOParam对象。- 返回:
true如果IIOParam已被修改,false否则。- 抛出:
IllegalArgumentException- 如果param是null或者不是正确类的实例。
-