S - TableView汎用型の型(つまり、S == TableView<S>)T - このTableColumnのすべてのセルのコンテンツの型。public class TreeTableColumn<S,T> extends TableColumnBase<TreeItem<S>,T> implements EventTarget
TreeTableViewは、多数のTreeTableColumnインスタンスで構成されます。 TreeTableViewの各TreeTableColumnでは、その列のコンテンツを表示(および編集)します。 TreeTableColumnでは単一列のデータの表示と編集を行うことに加え、次のことに必要なプロパティも含まれています。
minWidth、prefWidth、maxWidthおよびwidthのプロパティを使用)
visibilityの切替え
header textの表示
nested columnsの表示
context menuの表示
comparator、sortableおよびsortTypeを使用)
text (列のヘッダー領域に表示されるもの)と列のcell value factory (列の個別のセルの移入に使用されるもの)です。 このことを行うには、次のコードのバリエーションを使用します。
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
}
このアプローチでは、p.getValue().getValue()から返されるオブジェクトに、単に返されるJavaFX ObservableValueがあることを想定しています。 この方法の利点は、TableViewによって内部的にバインディングが作成されるため、返されたObservableValueが変更された場合にセルのコンテンツが自動的にリフレッシュされることです。
TableColumnがJavaFXよりも前に作成されたクラスと対話する必要がある状況、または通常プロパティにJavaFX APIを使用しない状況では、ReadOnlyObjectWrapperインスタンスで返された値をラップすることができます。 たとえば:
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return new ReadOnlyObjectWrapper(p.getValue().getValue().getFirstName());
}
});
}
今後、コンビニエンス・セル値ファクトリが開発され、開発者が使用できるようになることが期待されています。 JavaFX 2.0リリース以降では、そのようなコンビニエンス・クラスが1つ(TreeItemPropertyValueFactory)あります。 このクラスにより、前述のコードを記述する必要がなくなり、かわりにリフレクションを使用して文字列から特定のプロパティを参照します。 TableColumnとともにこれを使用する方法の詳細は、TreeItemPropertyValueFactoryクラスのドキュメントを参照してください。 また、TableColumnの使用方法の詳細は、TableViewクラスのドキュメントを参照してください。 TableView、TableCell、TablePosition、TreeItemPropertyValueFactory| Type | プロパティと説明 |
|---|---|
ObjectProperty<Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>>> |
cellFactory
この列のすべてのセルのセル・ファクトリ。
|
ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> |
cellValueFactory
1つのTreeTableColumn内のすべてのセルに値を移入する方法を指定するために、セル値ファクトリを設定する必要があります。
|
ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> |
onEditCancel
このイベント・ハンドラは、ユーザーがセルの編集を取り消すと起動されます。
|
ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> |
onEditCommit
このイベント・ハンドラは、ユーザーが編集を正常にコミットすると起動されます。
|
ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> |
onEditStart
このイベント・ハンドラは、ユーザーが編集を正常に開始すると起動されます。
|
ObjectProperty<TreeTableColumn.SortType> |
sortType
ソート順序(詳細は、
TreeTableView.getSortOrder()を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 |
ReadOnlyObjectProperty<TreeTableView<S>> |
treeTableView
このTreeTableColumnが属するTreeTableView。
|
comparator, contextMenu, editable, graphic, id, maxWidth, minWidth, parentColumn, prefWidth, resizable, sortable, sortNode, style, text, visible, width| 修飾子と型 | クラスと説明 |
|---|---|
static class |
TreeTableColumn.CellDataFeatures<S,T>
特定の
Cellに対して必要なすべての情報を提供するためにTreeTableColumnでラッパー・クラスとして使用されるサポート・クラス。 |
static class |
TreeTableColumn.CellEditEvent<S,T>
ユーザーが表のセルで編集を実行したときに起動されるイベント。
|
static class |
TreeTableColumn.SortType
特定の列に適用されるソートのタイプを指定する列挙。
|
| 修飾子と型 | フィールドと説明 |
|---|---|
static Callback<TreeTableColumn<?,?>,TreeTableCell<?,?>> |
DEFAULT_CELL_FACTORY
TreeTableColumnインスタンスにcellFactoryが指定されていない場合、これがデフォルトとして使用されます。
|
DEFAULT_COMPARATOR| コンストラクタと説明 |
|---|
TreeTableColumn()
デフォルトのセル・ファクトリ、コンパレータおよびonEditCommit実装でデフォルトのTreeTableColumnを作成します。
|
TreeTableColumn(String text)
デフォルトのセル・ファクトリ、コンパレータおよびonEditCommit実装で、指定された文字列に設定されたテキストでTreeTableColumnを作成します。
|
addEventHandler, buildEventDispatchChain, comparatorProperty, contextMenuProperty, editableProperty, getCellData, getCellData, getComparator, getContextMenu, getGraphic, getId, getMaxWidth, getMinWidth, getParentColumn, getPrefWidth, getProperties, getPseudoClassStates, getSortNode, getStyle, getStyleClass, getText, getUserData, getWidth, graphicProperty, hasProperties, idProperty, isEditable, isResizable, isSortable, isVisible, maxWidthProperty, minWidthProperty, parentColumnProperty, prefWidthProperty, removeEventHandler, resizableProperty, setComparator, setContextMenu, setEditable, setGraphic, setId, setMaxWidth, setMinWidth, setPrefWidth, setResizable, setSortable, setSortNode, setStyle, setText, setUserData, setVisible, sortableProperty, sortNodeProperty, styleProperty, textProperty, visibleProperty, widthPropertyclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuildEventDispatchChainpublic final ReadOnlyObjectProperty<TreeTableView<S>> treeTableViewProperty
getTreeTableView()public final ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> cellValueFactoryProperty
TreeTableColumn.CellDataFeaturesインスタンスを提供し、ObservableValueが返されることが想定されるCallbackです。 返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。
セル値ファクトリの設定方法の例を次に示します。
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
}
一般的なアプローチでは、Java beanからの単一値を使用してTreeTableColumnのセルに移入します。 この一般的なシナリオをサポートするために、TreeItemPropertyValueFactoryクラスがあります。 ここでは簡潔に、TreeItemPropertyValueFactoryクラスを使用して前述のユースケースを簡略化する方法を示すため、その使用方法の詳細は、このクラスを参照してください。
firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
public final ObjectProperty<Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>>> cellFactoryProperty
デフォルトでは、TreeTableColumnではdefault cell factoryが使用されますが、他の方法でデータを表示したり、編集をサポートするなどの目的で、これをカスタム実装に置換できます。 カスタム・セル・ファクトリの作成については、他の場所に多くのドキュメントがあります(Cell、TreeTableViewなどを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cellパッケージから使用できます。
public final ObjectProperty<TreeTableColumn.SortType> sortTypeProperty
TreeTableView.getSortOrder()を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 このプロパティを単に切り替えると、TreeTableViewでのソート順が変更されます(この列がsortOrderのObservableListに含まれていることが前提です)。 public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditStartProperty
public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditCommitProperty
public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditCancelProperty
public static final Callback<TreeTableColumn<?,?>,TreeTableCell<?,?>> DEFAULT_CELL_FACTORY
public TreeTableColumn()
public TreeTableColumn(String text)
text - TreeTableColumnがTreeTableView内に配置されたときに表示される文字列。public static <S,T> EventType<TreeTableColumn.CellEditEvent<S,T>> editAnyEvent()
public static <S,T> EventType<TreeTableColumn.CellEditEvent<S,T>> editStartEvent()
TreeTableView.edit(int, javafx.scene.control.TreeTableColumn)メソッドが呼び出されたことを示します。public static <S,T> EventType<TreeTableColumn.CellEditEvent<S,T>> editCancelEvent()
public static <S,T> EventType<TreeTableColumn.CellEditEvent<S,T>> editCommitEvent()
public final ReadOnlyObjectProperty<TreeTableView<S>> treeTableViewProperty()
getTreeTableView()public final TreeTableView<S> getTreeTableView()
public final void setCellValueFactory(Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>> value)
TreeTableColumn.CellDataFeaturesインスタンスを提供し、ObservableValueが返されることが想定されるCallbackです。 返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。
セル値ファクトリの設定方法の例を次に示します。
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
}
一般的なアプローチでは、Java beanからの単一値を使用してTreeTableColumnのセルに移入します。 この一般的なシナリオをサポートするために、TreeItemPropertyValueFactoryクラスがあります。 ここでは簡潔に、TreeItemPropertyValueFactoryクラスを使用して前述のユースケースを簡略化する方法を示すため、その使用方法の詳細は、このクラスを参照してください。
firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
public final Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>> getCellValueFactory()
TreeTableColumn.CellDataFeaturesインスタンスを提供し、ObservableValueが返されることが想定されるCallbackです。 返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。
セル値ファクトリの設定方法の例を次に示します。
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
}
一般的なアプローチでは、Java beanからの単一値を使用してTreeTableColumnのセルに移入します。 この一般的なシナリオをサポートするために、TreeItemPropertyValueFactoryクラスがあります。 ここでは簡潔に、TreeItemPropertyValueFactoryクラスを使用して前述のユースケースを簡略化する方法を示すため、その使用方法の詳細は、このクラスを参照してください。
firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
public final ObjectProperty<Callback<TreeTableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> cellValueFactoryProperty()
TreeTableColumn.CellDataFeaturesインスタンスを提供し、ObservableValueが返されることが想定されるCallbackです。 返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。
セル値ファクトリの設定方法の例を次に示します。
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the TreeItem<Person> instance for a particular TreeTableView row,
// p.getValue().getValue() returns the Person instance inside the TreeItem<Person>
return p.getValue().getValue().firstNameProperty();
}
});
}
一般的なアプローチでは、Java beanからの単一値を使用してTreeTableColumnのセルに移入します。 この一般的なシナリオをサポートするために、TreeItemPropertyValueFactoryクラスがあります。 ここでは簡潔に、TreeItemPropertyValueFactoryクラスを使用して前述のユースケースを簡略化する方法を示すため、その使用方法の詳細は、このクラスを参照してください。
firstNameCol.setCellValueFactory(new TreeItemPropertyValueFactory<Person,String>("firstName"));
public final void setCellFactory(Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> value)
デフォルトでは、TreeTableColumnではdefault cell factoryが使用されますが、他の方法でデータを表示したり、編集をサポートするなどの目的で、これをカスタム実装に置換できます。 カスタム・セル・ファクトリの作成については、他の場所に多くのドキュメントがあります(Cell、TreeTableViewなどを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cellパッケージから使用できます。
public final Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> getCellFactory()
デフォルトでは、TreeTableColumnではdefault cell factoryが使用されますが、他の方法でデータを表示したり、編集をサポートするなどの目的で、これをカスタム実装に置換できます。 カスタム・セル・ファクトリの作成については、他の場所に多くのドキュメントがあります(Cell、TreeTableViewなどを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cellパッケージから使用できます。
public final ObjectProperty<Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>>> cellFactoryProperty()
デフォルトでは、TreeTableColumnではdefault cell factoryが使用されますが、他の方法でデータを表示したり、編集をサポートするなどの目的で、これをカスタム実装に置換できます。 カスタム・セル・ファクトリの作成については、他の場所に多くのドキュメントがあります(Cell、TreeTableViewなどを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cellパッケージから使用できます。
public final ObjectProperty<TreeTableColumn.SortType> sortTypeProperty()
TreeTableView.getSortOrder()を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 このプロパティを単に切り替えると、TreeTableViewでのソート順が変更されます(この列がsortOrderのObservableListに含まれていることが前提です)。 public final void setSortType(TreeTableColumn.SortType value)
TreeTableView.getSortOrder()を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 このプロパティを単に切り替えると、TreeTableViewでのソート順が変更されます(この列がsortOrderのObservableListに含まれていることが前提です)。 public final TreeTableColumn.SortType getSortType()
TreeTableView.getSortOrder()を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 このプロパティを単に切り替えると、TreeTableViewでのソート順が変更されます(この列がsortOrderのObservableListに含まれていることが前提です)。 public final void setOnEditStart(EventHandler<TreeTableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TreeTableColumn.CellEditEvent<S,T>> getOnEditStart()
public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditStartProperty()
public final void setOnEditCommit(EventHandler<TreeTableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TreeTableColumn.CellEditEvent<S,T>> getOnEditCommit()
public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditCommitProperty()
public final void setOnEditCancel(EventHandler<TreeTableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TreeTableColumn.CellEditEvent<S,T>> getOnEditCancel()
public final ObjectProperty<EventHandler<TreeTableColumn.CellEditEvent<S,T>>> onEditCancelProperty()
public final ObservableList<TreeTableColumn<S,?>> getColumns()
これは表にほとんど影響しません。すべての列インデックスはリーフ列のみを指し、親列を使用してリーフ列のみをソートすることはできません。 つまり、これは純粋に視覚的な機能です。
getColumns、クラスTableColumnBase<TreeItem<S>,T>public final ObservableValue<T> getCellObservableValue(int index)
これを実行するには、cell value factoryを呼び出し、CellDataFeaturesが渡されたときにそれによって返されたものを返します(詳細は、TableColumnおよびTreeTableColumnに属するCellDataFeaturesクラスなどを参照)。
getCellObservableValue、クラスTableColumnBase<TreeItem<S>,T>index - ObservableValue<T>が検索されるアイテム(型S)のインデックス。public final ObservableValue<T> getCellObservableValue(TreeItem<S> item)
これを実行するには、cell value factoryを呼び出し、CellDataFeaturesが渡されたときにそれによって返されたものを返します(詳細は、TableColumnおよびTreeTableColumnに属するCellDataFeaturesクラスなどを参照)。
getCellObservableValue、クラスTableColumnBase<TreeItem<S>,T>item - ObservableValue<T>が検索されるアイテム(型S)。public String getTypeSelector()
getTypeSelector、インタフェースStyleablepublic Styleable getStyleableParent()
getStyleableParent、インタフェースStyleablegetTreeTableView()public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
getCssMetaData、インタフェースStyleablepublic static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.