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) 激活控制器。  |  
    
| 方法详细信息 | 
|---|
boolean activate(IIOParam param)
true,则 
    IIOParam 对象中的所有设置值都应该已经准备好用于读取或写入操作。如果返回 
    false,则不会干扰 
    IIOParam 对象中的任何设置值(
    也就是说,用户取消了该操作)。 
    
param - 要修改的 
      IIOParam 对象。 
     IIOParam,则返回 
      true,否则返回 
      false。 
     IllegalArgumentException - 如果 
      param 为 
      null 或者不是正确类的实例。