模块  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.