Module  java.desktop
软件包  javax.imageio

Interface IIOParamController



  • public interface IIOParamController
    要由可以通过放置GUI以从用户获取值或通过其他方式确定IIOParam对象的设置的对象来实现的接口。 此接口仅指定调用控制器的通用activate方法,而不考虑控制器如何获取值( ,控制器是否放置GUI或仅计算一组值与此接口无关)。

    activate方法中,控制器通过查询IIOParam对象的get方法来获取初始值,通过任何方式修改值,然后调用IIOParam对象的set方法来修改适当的设置。 通常,这些set方法将在最终提交时一次被调用,以便取消操作不会干扰现有值。 一般来说,应用程序可能期望当activate方法返回trueIIOParam对象可以在读或写操作中使用。

    供应商可以选择为其为特定插件定义的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()
    • 方法详细信息

      • activate

        boolean activate​(IIOParam param)
        激活控制器。 如果true返回,在所有设置IIOParam对象应该是准备在读或写操作使用。 如果false返回,在没有设置IIOParam对象会被干扰( 也就是说 ,用户取消了该操作)。
        参数
        param - 要修改的 IIOParam对象。
        结果
        true如果 IIOParam已被修改,否则为 false
        异常
        IllegalArgumentException - if param is null or is not an instance of the correct class.