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

クラスProgressBarTableCell<S>

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


    public class ProgressBarTableCell<S>
    extends TableCell<S,Double>
    セル内にProgressBarノードを描画するTableCell実装を含むクラス。
    導入されたバージョン:
    JavaFX 2.2
    • コンストラクタの詳細

      • ProgressBarTableCell

        public ProgressBarTableCell​()
        デフォルトのProgressBarTableCellインスタンスを作成します。
    • メソッドの詳細

      • forTableColumn

        public static <S> Callback<TableColumn<S,Double>,TableCell<S,Double>> forTableColumn​()
        0.0から1.0までの進捗に応じて数値を簡単に視覚化できる、ProgressBarを提供します。 値が-1の場合、不確定進捗バーが表示されます。
        型パラメータ:
        S - TableViewジェネリック型の型
        戻り値:
        0.0から1.0までの進捗に応じて数値を視覚化できる、TableColumnのcell factory propertyに挿入できるCallback
      • updateItem

        public void updateItem​(Double 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 in class Cell<Double>
        パラメータ:
        item - セルの新しいアイテム。
        empty - このセルがリストからのデータを表しているかどうか。 空の場合、いずれのドメイン・データも表しませんが、空の行のレンダリングに使用されるセルとなります。