0

BillingTableRow タイプのアイテムを含む JavaFX TreeTableView を使用しています。BillingTableRow のメソッド getType() によって指定された値に基づいて列のスタイルを設定したいのですが、設定しようとしているコールバック内からアクセスできないようです。これが私のコードです:

Callback<TreeTableColumn<BillingTableRow, Double>, TreeTableCell<BillingTableRow, Double>> eveningCallback = new Callback<TreeTableColumn<BillingTableRow, Double>, TreeTableCell<BillingTableRow, Double>>() {
        @Override
        public TreeTableCell<BillingTableRow, Double> call(TreeTableColumn<BillingTableRow, Double> p) {
            return new EditableTreeTableDoubleCell() {
                @Override
                public void updateItem(Double item, boolean empty) {
                    super.updateItem(item, empty);

                    BillingTableRow row = (...)// Get attached BillingTableRow for current tree table row.
                    if (row.getType() == 0) {
                        setText(null);
                    }

                }
            };
        }
    };
    eveningColumn.setCellFactory(eveningCallback);

それを機能させるには、(...) を何に置き換える必要がありますか?

4

1 に答える 1

2

使用する

BillingTableRow row = getTreeTableRow().getItem();

と の両方で、現在のセルが属する行全体をセルに表示するプロパティをTableCell定義TreeTableCellします。tableRowa の場合TreeTableCell<S,T>、のサブクラスであるgetTreeTableRow()a を返します。これは、戻り値の型が、つまり行全体のデータを表す項目を持つメソッドがあることを意味します。TreeTableRow<S>Cell<S>getItem()S

于 2014-10-20T17:30:08.577 に答える