javax.imageio

接口
异常
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

另请参见:
IIOParam.setController(javax.imageio.IIOParamController), IIOParam.getController(), IIOParam.getDefaultController(), IIOParam.hasController(), IIOParam.activateController()

方法摘要
 boolean activate(IIOParam param)
          激活控制器。
 

方法详细信息

activate

boolean activate(IIOParam param)
激活控制器。如果返回 true,则 IIOParam 对象中的所有设置值都应该已经准备好用于读取或写入操作。如果返回 false,则不会干扰 IIOParam 对象中的任何设置值( 也就是说,用户取消了该操作)。

参数:
param - 要修改的 IIOParam 对象。
返回:
如果已经修改了 IIOParam,则返回 true,否则返回 false
抛出:
IllegalArgumentException - 如果 paramnull 或者不是正确类的实例。