public interface IIOParamController
要由可以确定
IIOParam
对象设置的对象实现的接口,可以通过向用户提供GUI来获取值,或者通过其他方式。该接口仅指定一个通用的activate
方法,调用控制器,不考虑控制器如何获取值(即,控制器是通过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
。
- 参见:
-
Method Summary
-
Method Details
-
activate
激活控制器。如果返回true
,则IIOParam
对象中的所有设置应准备好用于读取或写入操作。如果返回false
,则IIOParam
对象中的任何设置都不会被更改(即,用户取消了操作)。- 参数:
-
param
- 要修改的IIOParam
对象。 - 返回:
-
如果
IIOParam
已被修改,则返回true
,否则返回false
。 - 抛出:
-
IllegalArgumentException
- 如果param
为null
或不是正确类的实例。
-