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、widthProperty
clone、equals、finalize、getClass、hashCode、notify、notifyAll、toString、wait、wait、wait
buildEventDispatchChain
public 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()
Styleable
の型。これはHTMLの要素に似ています(CSSタイプ・セレクタ)。getTypeSelector
、インタフェース: Styleable
public Styleable getStyleableParent()
getStyleableParent
、インタフェース: Styleable
getTreeTableView()
public List<CssMetaData<? extends Styleable,?>> getCssMetaData()
getCssMetaData
、インタフェース: Styleable
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.