public interface IIOParamController
IIOParam
对象的设置的对象来实现的接口。
此接口仅指定调用控制器的通用activate
方法,而不考虑控制器如何获取值( 即 ,控制器是否提供GUI或仅计算一组值与此接口无关)。
在activate
方法中,控制器通过查询IIOParam
对象的get
方法来获取初始值,通过任何方式修改值,然后调用IIOParam
对象的set
方法来修改适当的设置。 通常,这些set
方法将在最终提交时一次被调用,以便取消操作不会影响现有值。 一般来说,应用程序可能会期望当activate
方法返回true
时, IIOParam
对象可以在读或写操作中使用。
供应商可以选择为他们为特定插件定义的IIOParam
子类提供GUI。 这些可以在相应的IIOParam 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
。
boolean activate(IIOParam param)
true
,则IIOParam
对象中的所有设置都应准备好在读或写操作中使用。
如果返回false
,则IIOParam
对象中的任何设置都不会受到干扰( 即用户取消了该操作)。
param
- 要修改的
IIOParam
对象。
true
如果
IIOParam
已被修改,
false
false。
IllegalArgumentException
- if
param
is
null
or is not an instance of the correct class.