模块 java.desktop

接口 IIOParamController


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

参见:
  • 方法总结

    修饰符和类型
    方法
    描述
    boolean
    激活控制器。
  • 方法详情

    • activate

      boolean activate(IIOParam  param)
      激活控制器。如果返回 true,则 IIOParam 对象中的所有设置都应准备好用于读取或写入操作。如果返回 false,则不会干扰 IIOParam 对象中的任何设置(IE,用户取消了操作)。
      参数:
      param - 要修改的 IIOParam 对象。
      返回:
      true 如果 IIOParam 已被修改,false 否则。
      抛出:
      IllegalArgumentException - 如果 paramnull 或者不是正确类的实例。