モジュール java.desktop
パッケージ javax.imageio

インタフェースIIOParamController



  • public interface IIOParamController
    GUIを使用してユーザーから値を取得するか、またはほかの手段によって、IIOParamオブジェクトの設定値を判定できるオブジェクトにより実装されるインタフェースです。 このインタフェースは、コントローラを呼び出すジェネリック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()
    • メソッドの詳細

      • activate

        boolean activate​(IIOParam param)
        コントローラを呼び出します。 trueが返される場合、IIOParamオブジェクトのすべての設定が、読み込みまたは書込み操作で使用できる状態にあります。 falseが返される場合、IIOParamオブジェクトの設定は影響を受けません。つまり、ユーザーにより操作が取り消されました。
        パラメータ:
        param - 変更されるIIOParamオブジェクト。
        戻り値:
        IIOParamが変更されている場合はtrue、それ以外の場合はfalse
        例外:
        IllegalArgumentException - paramnull、または正しいクラスのインスタンスではない場合。