モジュール javafx.controls
パッケージ javafx.scene.control.cell

クラスComboBoxTreeTableCell<S,T>

  • 型パラメータ:
    S - TreeTableViewジェネリック型の型
    T - TreeTableColumnに含まれる要素の型。
    すべての実装されたインタフェース:
    Styleable, EventTarget, Skinnable


    public class ComboBoxTreeTableCell<S,T>
    extends TreeTableCell<S,T>
    セル内にComboBoxノードを描画するTreeTableCell実装を含むクラス。

    デフォルトでは、ComboBoxTreeTableCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はComboBoxとしてレンダリングされます。 ComboBoxは、デフォルトで、表のセル全体に表示するように拡大されます。

    ComboBoxTreeTableCellを作成するには、ComboBoxメニューが表示されるとユーザーに表示される0以上のアイテムを提供する必要があります。 これらのアイテムは、TreeTableColumnと同じ型である必要があります。

    導入されたバージョン:
    JavaFX 8.0
    • コンストラクタの詳細

      • ComboBoxTreeTableCell

        public ComboBoxTreeTableCell​()
        空のアイテム・リストを持つデフォルトのComboBoxTreeTableCellを作成します。
      • ComboBoxTreeTableCell

        @SafeVarargs
        public ComboBoxTreeTableCell​(T... items)
        ComboBoxが表示されているときにComboBoxの移入に使用される、指定されたアイテムを含むデフォルトのComboBoxTreeTableCellインスタンスを作成します。
        パラメータ:
        items - ユーザーが選択した場合に、ComboBoxポップアップ・メニューに表示されるアイテム。
      • ComboBoxTreeTableCell

        @SafeVarargs
        public ComboBoxTreeTableCell​(StringConverter<T> converter,
                                     T... items)
        ComboBoxが表示されるときに、その値の移入に使用される、指定されたアイテムを含むComboBoxTreeTableCellインスタンス、およびアイテムをユーザーが読取り可能な形式に変換するために使用されるStringConverterを作成します。
        パラメータ:
        converter - 型Tのアイテムをユーザーが読取り可能な文字列に変換して、ComboBoxポップアップ・メニューに表示できるようにするStringConverter
        items - ユーザーが選択した場合に、ComboBoxポップアップ・メニューに表示されるアイテム。
      • ComboBoxTreeTableCell

        public ComboBoxTreeTableCell​(ObservableList<T> items)
        ComboBoxが表示されているときにComboBoxの移入に使用される、指定されたアイテムを含むデフォルトのComboBoxTreeTableCellインスタンスを作成します。
        パラメータ:
        items - ユーザーが選択した場合に、ComboBoxポップアップ・メニューに表示されるアイテム。
      • ComboBoxTreeTableCell

        public ComboBoxTreeTableCell​(StringConverter<T> converter,
                                     ObservableList<T> items)
        ComboBoxが表示されるときに、その値の移入に使用される、指定されたアイテムを含むComboBoxTreeTableCellインスタンス、およびアイテムをユーザーが読取り可能な形式に変換するために使用されるStringConverterを作成します。
        パラメータ:
        converter - 型Tのアイテムをユーザーが読取り可能な文字列に変換して、ComboBoxポップアップ・メニューに表示できるようにするStringConverter
        items - ユーザーが選択した場合に、ComboBoxポップアップ・メニューに表示されるアイテム。
    • メソッドの詳細

      • forTreeTableColumn

        @SafeVarargs
        public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn​(T... items)
        TreeTableColumnコントロールで使用するComboBoxセル・ファクトリを作成します。 デフォルトでは、ComboBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はComboBoxとしてレンダリングされます。 ComboBoxは、デフォルトで、リスト・セル全体に表示するように拡大されます。
        型パラメータ:
        S - TreeTableViewジェネリック型の型
        T - TreeTableColumnに含まれる要素の型。
        パラメータ:
        items - ComboBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、TreeTableColumnと同じ型である必要があります。 TreeTableColumnの編集イベントをリスニングし、それに従って対応するようにevent handlersを設定することは、開発者の責任であることに注意してください。 関連する可能性のあるメソッドには、setOnEditStartsetOnEditCommitsetOnEditCancelなどがあります。
        戻り値:
        TreeTableColumnに含まれる要素の型で動作できるTreeTableCellを返すCallback
      • forTreeTableColumn

        @SafeVarargs
        public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn​(StringConverter<T> converter,
                                                                                                 T... items)
        TreeTableColumnコントロールで使用するComboBoxセル・ファクトリを作成します。 デフォルトでは、ComboBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はComboBoxとしてレンダリングされます。 ComboBoxは、デフォルトで、リスト・セル全体に表示するように拡大されます。
        型パラメータ:
        S - TreeTableViewジェネリック型の型
        T - TreeTableColumnに含まれる要素の型。
        パラメータ:
        converter - (型Tの)指定されたアイテムをユーザーに表示するために文字列に変換するStringConverter
        items - ComboBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、TreeTableColumnと同じ型である必要があります。 TreeTableColumnの編集イベントをリスニングし、それに従って対応するようにevent handlersを設定することは、開発者の責任であることに注意してください。 関連する可能性のあるメソッドには、setOnEditStartsetOnEditCommitsetOnEditCancelなどがあります。
        戻り値:
        TreeTableColumnに含まれる要素の型で動作できるTreeTableCellを返すCallback
      • forTreeTableColumn

        public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn​(ObservableList<T> items)
        TreeTableColumnコントロールで使用するComboBoxセル・ファクトリを作成します。 デフォルトでは、ComboBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はComboBoxとしてレンダリングされます。 ComboBoxは、デフォルトで、リスト・セル全体に表示するように拡大されます。
        型パラメータ:
        S - TreeTableViewジェネリック型の型
        T - TreeTableColumnに含まれる要素の型。
        パラメータ:
        items - ComboBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、TreeTableColumnと同じ型である必要があります。 TreeTableColumnの編集イベントをリスニングし、それに従って対応するようにevent handlersを設定することは、開発者の責任であることに注意してください。 関連する可能性のあるメソッドには、setOnEditStartsetOnEditCommitsetOnEditCancelなどがあります。
        戻り値:
        TreeTableColumnに含まれる要素の型で動作できるTreeTableCellを返すCallback
      • forTreeTableColumn

        public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn​(StringConverter<T> converter,
                                                                                                 ObservableList<T> items)
        TreeTableColumnコントロールで使用するComboBoxセル・ファクトリを作成します。 デフォルトでは、ComboBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はComboBoxとしてレンダリングされます。 ComboBoxは、デフォルトで、リスト・セル全体に表示するように拡大されます。
        型パラメータ:
        S - TreeTableViewジェネリック型の型
        T - TreeTableColumnに含まれる要素の型。
        パラメータ:
        converter - (型Tの)指定されたアイテムをユーザーに表示するために文字列に変換するStringConverter
        items - ComboBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、TreeTableColumnと同じ型である必要があります。 TreeTableColumnの編集イベントをリスニングし、それに従って対応するようにevent handlersを設定することは、開発者の責任であることに注意してください。 関連する可能性のあるメソッドには、setOnEditStartsetOnEditCommitsetOnEditCancelなどがあります。
        戻り値:
        TreeTableColumnに含まれる要素の型で動作できるTreeTableCellを返すCallback
      • setConverter

        public final void setConverter​(StringConverter<T> value)
        このセルで使用するStringConverterを設定します。
        パラメータ:
        value - 文字列変換プログラム
      • getConverter

        public final StringConverter<T> getConverter​()
        このセルで使用するStringConverterを返します。
        戻り値:
        文字列変換プログラム
      • setComboBoxEditable

        public final void setComboBoxEditable​(boolean value)
        ComboBoxを編集可能に構成します(オプション以外のユーザー入力をドロップダウン・リストに提供することを許可します)。
        パラメータ:
        value - このComboBoxに設定される編集可能な値
      • isComboBoxEditable

        public final boolean isComboBoxEditable​()
        ComboBoxが編集可能な場合はtrueを返します。
        戻り値:
        ComboBoxが編集可能な場合はtrue
      • getItems

        public ObservableList<T> getItems​()
        ComboBoxが表示されているときに表示されるアイテムを返します。
        戻り値:
        このComboBoxが表示されているときに表示されるアイテム
      • startEdit

        public void startEdit​()
        この関数を呼び出して、セルが編集可能な場合に、非編集状態から編集状態に遷移します。 セルがすでに編集状態である場合は、その状態のままになります。
        オーバーライド:
        startEdit 、クラス: TreeTableCell<S,T>
      • cancelEdit

        public void cancelEdit​()
        この関数を呼び出して、ユーザーによる入力を保存せずに、編集状態から非編集状態に遷移します。
        オーバーライド:
        cancelEdit 、クラス: TreeTableCell<S,T>
      • updateItem

        public void updateItem​(T item,
                               boolean empty)
        updateItemメソッドは、開発者にとって、呼び出すことはできないが、オーバーライドしてセルのビジュアルをカスタマイズできる、最適なメソッドです。 つまり、開発者は、コードでこのメソッドを呼び出さないようにしてください。このメソッドは、ListViewコントロールなどのUIコントロールによってのみ呼び出されるようにする必要があります。 ただし、updateItemメソッドが存在する理由は、開発者がカスタム・セル・ファクトリ(ListView cell factoryなど)を指定するときに、updateItemメソッドをオーバーライドして、セルを完全にカスタマイズできるようにすることです。

        CellのサブクラスがupdateItemメソッドを適切にオーバーライドすることは非常に重要であり、これは、そのようにしないと、セルが空白になったり、セルに予期しないコンテンツが含まれるなどの問題が発生するためです。 updateItemメソッドを適切にオーバーライドする方法の例を次に示します。

         protected void updateItem(T item, boolean empty) {
             super.updateItem(item, empty);
        
             if (empty || item == null) {
                 setText(null);
                 setGraphic(null);
             } else {
                 setText(item.toString());
             }
         }
         

        このコード・サンプルには次の2つの重要なポイントがあることに注意してください。

        1. super.updateItem(T, boolean)メソッドを呼び出します。 これを行わないと、itemプロパティとemptyプロパティが正しく設定されず、グラフィカルな問題が発生する可能性があります。
        2. empty状態をテストし、trueの場合は、textプロパティとgraphicプロパティをnullに設定します。 これを行わないと、ほぼ確実に、エンド・ユーザーに対して予想外のグラフィカル・アーティファクトがセル内に表示されます。
        オーバーライド:
        updateItem 、クラス: Cell<T>
        パラメータ:
        item - セルの新しいアイテム。
        empty - このセルがリストからのデータを表しているかどうか。 空の場合、いずれのドメイン・データも表しませんが、空の行のレンダリングに使用されるセルとなります。