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

クラスChoiceBoxTreeCell<T>

  • 型パラメータ:
    T - TreeViewに含まれているTreeItemの型。
    すべての実装されたインタフェース:
    Styleable, EventTarget, Skinnable

    public class ChoiceBoxTreeCell<T>
    extends TreeCell<T>
    セル内にChoiceBoxノードを描画するListCell実装を含むクラス。

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

    ChoiceBoxTreeCellを作成するには、ChoiceBoxメニューが表示されるとユーザーに表示される0以上のアイテムを提供する必要があります。 これらのアイテムはTreeViewのTreeItemと同じ型である必要があり、これにより、たとえば、選択時にTreeItem.valueProperty()の既存の値を置き換えます。

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

      • ChoiceBoxTreeCell

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

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

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

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

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

      • forTreeView

        @SafeVarargs
        public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView​(T... items)
        TreeViewコントロールで使用するChoiceBoxセル・ファクトリを作成します。 デフォルトでは、ChoiceBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はChoiceBoxとしてレンダリングされます。 ChoiceBoxは、デフォルトでツリーのセル全体に表示するように拡大されます。
        型パラメータ:
        T - TreeViewに含まれる要素の型。
        パラメータ:
        items - ChoiceBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、選択時にTreeItem valueプロパティの既存の値を置き換えるように、TreeView<T>と同じ型でなければなりません。
        戻り値:
        TreeViewに含まれる要素の型で動作できるTreeCellを返すCallback
      • forTreeView

        public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView​(ObservableList<T> items)
        TreeViewコントロールで使用するChoiceBoxセル・ファクトリを作成します。 デフォルトでは、ChoiceBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はChoiceBoxとしてレンダリングされます。 ChoiceBoxは、デフォルトで、ツリー・セルのインデント、および公開ノード(つまり、矢印)に割り当てられているスペースを除き、ツリー・セル全体に表示するように拡大されます。
        型パラメータ:
        T - TreeViewに含まれるTreeItem要素の型。
        パラメータ:
        items - ChoiceBoxメニューが表示されるとユーザーに表示される0以上のアイテムを含むObservableList これらのアイテムは、TreeView汎用型と同じ型である必要があり、これにより、たとえば、選択時に(TreeView.editingItemProperty()で述べているように)編集されるTreeItemの既存値を置き換えます。
        戻り値:
        TreeViewに含まれる要素の型で動作できるTreeCellを返すCallback
      • forTreeView

        @SafeVarargs
        public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView​(StringConverter<T> converter,
                                                                        T... items)
        TreeViewコントロールで使用するChoiceBoxセル・ファクトリを作成します。 デフォルトでは、ChoiceBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はChoiceBoxとしてレンダリングされます。 ChoiceBoxは、デフォルトでツリーのセル全体に表示するように拡大されます。
        型パラメータ:
        T - TreeViewに含まれる要素の型。
        パラメータ:
        converter - (型Tの)指定されたアイテムをユーザーに表示するために文字列に変換するStringConverter
        items - ChoiceBoxメニューが表示されるとユーザーに表示される0以上のアイテム。 これらのアイテムは、選択時にTreeItem valueプロパティの既存の値を置き換えるように、TreeView<T>と同じ型でなければなりません。
        戻り値:
        TreeViewに含まれる要素の型で動作できるTreeCellを返すCallback
      • forTreeView

        public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView​(StringConverter<T> converter,
                                                                        ObservableList<T> items)
        TreeViewコントロールで使用するChoiceBoxセル・ファクトリを作成します。 デフォルトでは、ChoiceBoxCellは、編集されていない場合はLabelとしてレンダリングされ、編集モードの場合はChoiceBoxとしてレンダリングされます。 ChoiceBoxは、デフォルトでツリーのセル全体に表示するように拡大されます。
        型パラメータ:
        T - TreeViewに含まれる要素の型。
        パラメータ:
        converter - (型Tの)指定されたアイテムをユーザーに表示するために文字列に変換するStringConverter
        items - ChoiceBoxメニューが表示されるとユーザーに表示される0以上のアイテムを含むObservableList これらのアイテムは、TreeView汎用型と同じ型である必要があり、これにより、たとえば、選択時に(TreeView.editingItemProperty()で述べているように)編集されるTreeItemの既存値を置き換えます。
        戻り値:
        TreeViewに含まれる要素の型で動作できるTreeCellを返すCallback
      • getItems

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

        public void updateItem​(T item,
                               boolean empty)
        クラスからコピーされた説明:Cell
        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に設定します。 これを行わないと、ほぼ確実に、エンド・ユーザーに対して予想外のグラフィカル・アーティファクトがセル内に表示されます。
        オーバーライド:
        クラスCell<T>updateItem
        パラメータ:
        item - セルの新しいアイテム。
        empty - このセルがリストからのデータを表しているかどうか。 空の場合、いずれのドメイン・データも表しませんが、空の行のレンダリングに使用されるセルとなります。