コンポーネントの配列化とファンクションへの引数

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 コンポーネントの配列化とファンクションへの引数

2 件の投稿を閲覧中 - 1 ~ 2 件(全 2 件)
  • 著者
    投稿
  • #7063
    TENTEN
    一般参加者

    お世話になります。 2点確認させてください。

    (1)
    「クラス型(オブジェクト)の配列」にあたると思いますが、複数の「ラベル」等のコンポーネントを配列で扱う方法があれば教えてください。

    (2)
    「ファンクション」コンポーネントへの引数に「ラベル」等のコンポーネント(名)やコンポーネント配列の要素((1)が可能と仮定して)を与えて、ファンクションの中で「ラベルのテキスト文字列を設定する」等のメソッドを呼び出す方法があれば教えてください。

    #7064
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。

    [1]よく使うコンポーネントは[リスト格納変数]です。要素にはObjectを設定しますので、コンポーネントの設定もできます。また、先入れ先出しが特徴の[オブジェクトキュー]を使うこともあります。
    配列位置の指定で格納したコンポーネントを取り出す場合は、上記2つのコンポーネントを使うのが簡単かと思います。

    また、コンポーネント名を指定してということであれば、以下のように[マップ格納変数]と[コンポーネント格納変数]を組み合わせて使うことが考えられます。
    1)[コンポーネント格納変数]にメソッド「コンポーネントを設定する(Component)」で[アプリケーション]または[複合コンポーネント]を設定します。これ以外のコンポーネントを入れても次の2)の処理で期待した値が返りません。引数の取得方法はコンポーネントです。
    2)[コンポーネント格納変数]のメソッド「条件指定で下位のコンポーネントのマップを取得する(String)」を実行します。引数にはクラス名を指定します。例えばラベルの場合は「jp.go.aist.dmrc.platform.beans.gui.PFLabel」です。マップのキーはコンポーネントキーとなります。
    3)[マップ格納変数]のメソッド「キーを指定して値を取得する(Object)」でコンポーネントキーを指定して格納されたコンポーネントを取得します。

    なお、[ラベル]のコンポーネントキーは自動的にテキストの変更が反映されますが、一度コンポーネントキーを属性情報設定窓から設定すると、以降自動的には変更されなくなります。自動的に変更されるように戻したい時は、コンポーネントキー欄のNuLLをクリックしてください。

    [2]取り出した任意のコンポ―ネントのメソッドの実行には[コンポーネント格納変数]を使用します。
    ➀「起動メソッド名を設定する(String)」引数のには日本語化されていないメソッド名を設定(例:setText)。
    ➁「起動メソッドに引数を追加する(String,Object)」引数0には引数の型を設定しますが、数値型や論理型の場合は「int」「float」「boolean」と表現し、それ以外の場合は「java.util.Date」等クラス名を指定します。文字列型だけは「String」と「java.lang.String」の両方で指定できます。
    ➂「起動メソッドを実行する()」を設定します。

    以上、[マップ格納変数]の確認のため、簡単なサンプルファイルを添付いたします。
    ご参考になれば幸いです。

    添付ファイル:
2 件の投稿を閲覧中 - 1 ~ 2 件(全 2 件)
  • このトピックに返信するには、ログインしてください。