S
- TableView汎用型の型(つまり、S == TableView<S>)T
- このTableColumnのすべてのセルのコンテンツの型。public class TableColumn<S,T> extends TableColumnBase<S,T> implements EventTarget
TableView
は、多数のTableColumnインスタンスで構成されます。表内の各TableColumnでは、その列のコンテンツを表示(および編集)します。TableColumnでは1つの列のデータの表示および編集を行うことに加え、次のことに必要なプロパティも含まれています。
minWidth
/prefWidth
/maxWidth
およびwidth
プロパティを使用)
visibility
の切替え
header text
の表示
nested columns
の表示
context menu
の表示
comparator
、sortable
およびsortType
を使用)
text
および(列の個々のセルに値を移入するために使用される)列のcell value factory
です。このことを行うには、次のコードのバリエーションを使用します。
ObservableList<Person> data = ...
TableView<Person> tableView = new TableView<Person>(data);
TableColumn<Person,String> firstNameCol = new TableColumn<Person,String>("First Name");
firstNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().firstNameProperty();
}
});
tableView.getColumns().add(firstNameCol);}
このアプローチでは、p.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) {
return new ReadOnlyObjectWrapper(p.getValue().getFirstName());
}
});
今後、コンビニエンス・セル値ファクトリが開発され、開発者が使用できるようになることが期待されています。JavaFX 2.0リリース以降は、そのようなコンビニエンス・クラスが1つ(PropertyValueFactory
)あります。このクラスにより、前述のコードを記述する必要がなくなり、かわりにリフレクションを使用して文字列から特定のプロパティを参照します。TableColumnでこれを使用する方法の詳細は、PropertyValueFactory
クラスのドキュメントを参照してください。また、TableColumnの使用方法の詳細は、TableView
クラスのドキュメントを参照してください。TableView
、TableCell
、TablePosition
Type | プロパティと説明 |
---|---|
ObjectProperty<Callback<TableColumn<S,T>,TableCell<S,T>>> |
cellFactory
この列のすべてのセルのセル・ファクトリ。
|
ObjectProperty<Callback<TableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> |
cellValueFactory
1つのTableColumn内のすべてのセルに値を移入する方法を指定するために、セル値ファクトリを設定する必要があります。
|
ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> |
onEditCancel
このイベント・ハンドラは、ユーザーがセルの編集を取り消すと起動されます。
|
ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> |
onEditCommit
このイベント・ハンドラは、ユーザーが編集を正常にコミットすると起動されます。
|
ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> |
onEditStart
このイベント・ハンドラは、ユーザーが編集を正常に開始すると起動されます。
|
ObjectProperty<TableColumn.SortType> |
sortType
ソート順序(詳細は、
TableView.getSortOrder() を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。 |
ReadOnlyObjectProperty<TableView<S>> |
tableView
このTableColumnが属するTableView。
|
comparator、contextMenu、editable、graphic、id、maxWidth、minWidth、parentColumn、prefWidth、resizable、sortable、sortNode、style、text、visible、width
修飾子と型 | クラスと説明 |
---|---|
static class |
TableColumn.CellDataFeatures<S,T>
特定の
Cell に対して必要なすべての情報を提供するためにTableColumnでラッパー・クラスとして使用されるサポート・クラス。 |
static class |
TableColumn.CellEditEvent<S,T>
ユーザーが表のセルで編集を実行したときに起動されるイベント。
|
static class |
TableColumn.SortType
特定の列に適用されるソートのタイプを指定する列挙。
|
修飾子と型 | フィールドと説明 |
---|---|
static Callback<TableColumn<?,?>,TableCell<?,?>> |
DEFAULT_CELL_FACTORY
TableColumnインスタンスにcellFactoryが指定されていない場合、これがデフォルトとして使用されます。
|
DEFAULT_COMPARATOR
コンストラクタと説明 |
---|
TableColumn()
デフォルトのセル・ファクトリ、コンパレータおよびonEditCommit実装を持つデフォルトのTableColumnを作成します。
|
TableColumn(String text)
指定された文字列に設定されたテキストおよびデフォルトのセル・ファクトリ、コンパレータ、onEditCommit実装を持つデフォルトのTableColumnを作成します。
|
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<TableView<S>> tableViewProperty
getTableView()
public final ObjectProperty<Callback<TableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> cellValueFactoryProperty
TableColumn.CellDataFeatures
インスタンスを提供するCallback
で、ObservableValue
が返されることを想定しています。返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。セル値ファクトリの設定方法の例を次に示します。
lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().lastNameProperty();
}
});
}
一般的なアプローチでは、Java Beanから単一の値を使用してTableColumnのセルに移入します。この一般的なシナリオをサポートするために、PropertyValueFactory
クラスがあります。使用方法の詳細は、このクラスを参照してください。ここでは、PropertyValueFactoryクラスを使用して前述の使用例を簡素化する方法を簡単に示します。
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("lastName"));
public final ObjectProperty<Callback<TableColumn<S,T>,TableCell<S,T>>> cellFactoryProperty
デフォルトでは、TableColumnはdefault cell factory
を使用しますが、たとえばデータを別の方法で表示したり編集をサポートするために、これをカスタム実装で置き換えることができます。カスタム・セル・ファクトリの作成に関するドキュメントは、他の場所にも多数あります(Cell
、TableView
などを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cell
パッケージから使用できます。
public final ObjectProperty<TableColumn.SortType> sortTypeProperty
TableView.getSortOrder()
を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。このプロパティを単に切り替えると、TableViewのソート順序が変更されます(この列がsortOrder ObservableListに含まれていることが前提です)。public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditStartProperty
public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditCommitProperty
public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditCancelProperty
public static final Callback<TableColumn<?,?>,TableCell<?,?>> DEFAULT_CELL_FACTORY
public TableColumn()
public TableColumn(String text)
text
- TableColumnがTableView内に配置されたときに表示する文字列。public static <S,T> EventType<TableColumn.CellEditEvent<S,T>> editAnyEvent()
public static <S,T> EventType<TableColumn.CellEditEvent<S,T>> editStartEvent()
TableView.edit(int, javafx.scene.control.TableColumn)
メソッドが呼び出されたことを示します。public static <S,T> EventType<TableColumn.CellEditEvent<S,T>> editCancelEvent()
public static <S,T> EventType<TableColumn.CellEditEvent<S,T>> editCommitEvent()
public final ReadOnlyObjectProperty<TableView<S>> tableViewProperty()
getTableView()
public final TableView<S> getTableView()
public final void setCellValueFactory(Callback<TableColumn.CellDataFeatures<S,T>,ObservableValue<T>> value)
TableColumn.CellDataFeatures
インスタンスを提供するCallback
で、ObservableValue
が返されることを想定しています。返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。セル値ファクトリの設定方法の例を次に示します。
lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().lastNameProperty();
}
});
}
一般的なアプローチでは、Java Beanから単一の値を使用してTableColumnのセルに移入します。この一般的なシナリオをサポートするために、PropertyValueFactory
クラスがあります。使用方法の詳細は、このクラスを参照してください。ここでは、PropertyValueFactoryクラスを使用して前述の使用例を簡素化する方法を簡単に示します。
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("lastName"));
public final Callback<TableColumn.CellDataFeatures<S,T>,ObservableValue<T>> getCellValueFactory()
TableColumn.CellDataFeatures
インスタンスを提供するCallback
で、ObservableValue
が返されることを想定しています。返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。セル値ファクトリの設定方法の例を次に示します。
lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().lastNameProperty();
}
});
}
一般的なアプローチでは、Java Beanから単一の値を使用してTableColumnのセルに移入します。この一般的なシナリオをサポートするために、PropertyValueFactory
クラスがあります。使用方法の詳細は、このクラスを参照してください。ここでは、PropertyValueFactoryクラスを使用して前述の使用例を簡素化する方法を簡単に示します。
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("lastName"));
public final ObjectProperty<Callback<TableColumn.CellDataFeatures<S,T>,ObservableValue<T>>> cellValueFactoryProperty()
TableColumn.CellDataFeatures
インスタンスを提供するCallback
で、ObservableValue
が返されることを想定しています。返されるObservableValueインスタンスは、値に対する更新を画面上にすぐに反映できるように、内部的に監視されます。セル値ファクトリの設定方法の例を次に示します。
lastNameCol.setCellValueFactory(new Callback<CellDataFeatures<Person, String>, ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
// p.getValue() returns the Person instance for a particular TableView row
return p.getValue().lastNameProperty();
}
});
}
一般的なアプローチでは、Java Beanから単一の値を使用してTableColumnのセルに移入します。この一般的なシナリオをサポートするために、PropertyValueFactory
クラスがあります。使用方法の詳細は、このクラスを参照してください。ここでは、PropertyValueFactoryクラスを使用して前述の使用例を簡素化する方法を簡単に示します。
lastNameCol.setCellValueFactory(new PropertyValueFactory<Person,String>("lastName"));
public final void setCellFactory(Callback<TableColumn<S,T>,TableCell<S,T>> value)
デフォルトでは、TableColumnはdefault cell factory
を使用しますが、たとえばデータを別の方法で表示したり編集をサポートするために、これをカスタム実装で置き換えることができます。カスタム・セル・ファクトリの作成に関するドキュメントは、他の場所にも多数あります(Cell
、TableView
などを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cell
パッケージから使用できます。
public final Callback<TableColumn<S,T>,TableCell<S,T>> getCellFactory()
デフォルトでは、TableColumnはdefault cell factory
を使用しますが、たとえばデータを別の方法で表示したり編集をサポートするために、これをカスタム実装で置き換えることができます。カスタム・セル・ファクトリの作成に関するドキュメントは、他の場所にも多数あります(Cell
、TableView
などを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cell
パッケージから使用できます。
public final ObjectProperty<Callback<TableColumn<S,T>,TableCell<S,T>>> cellFactoryProperty()
デフォルトでは、TableColumnはdefault cell factory
を使用しますが、たとえばデータを別の方法で表示したり編集をサポートするために、これをカスタム実装で置き換えることができます。カスタム・セル・ファクトリの作成に関するドキュメントは、他の場所にも多数あります(Cell
、TableView
などを参照)。
事前に構築された多数のセル・ファクトリをjavafx.scene.control.cell
パッケージから使用できます。
public final ObjectProperty<TableColumn.SortType> sortTypeProperty()
TableView.getSortOrder()
を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。このプロパティを単に切り替えると、TableViewのソート順序が変更されます(この列がsortOrder ObservableListに含まれていることが前提です)。public final void setSortType(TableColumn.SortType value)
TableView.getSortOrder()
を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。このプロパティを単に切り替えると、TableViewのソート順序が変更されます(この列がsortOrder ObservableListに含まれていることが前提です)。public final TableColumn.SortType getSortType()
TableView.getSortOrder()
を参照)の一部である場合にこの列を昇順または降順でソートするかどうかを示すために使用されます。このプロパティを単に切り替えると、TableViewのソート順序が変更されます(この列がsortOrder ObservableListに含まれていることが前提です)。public final void setOnEditStart(EventHandler<TableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TableColumn.CellEditEvent<S,T>> getOnEditStart()
public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditStartProperty()
public final void setOnEditCommit(EventHandler<TableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TableColumn.CellEditEvent<S,T>> getOnEditCommit()
public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditCommitProperty()
public final void setOnEditCancel(EventHandler<TableColumn.CellEditEvent<S,T>> value)
public final EventHandler<TableColumn.CellEditEvent<S,T>> getOnEditCancel()
public final ObjectProperty<EventHandler<TableColumn.CellEditEvent<S,T>>> onEditCancelProperty()
public final ObservableList<TableColumn<S,?>> getColumns()
これは表にほとんど影響しません。すべての列インデックスはリーフ列のみを指し、親列を使用してリーフ列のみをソートすることはできません。つまり、これは純粋に視覚的な機能です。
getColumns
、クラス: TableColumnBase<S,T>
public final ObservableValue<T> getCellObservableValue(int index)
これを実行するには、cell value factory
を呼び出し、CellDataFeatures
が渡されたときにそれによって返されたものを返します(詳細は、TableColumn
およびTreeTableColumn
に属するCellDataFeaturesクラスなどを参照)。
getCellObservableValue
、クラス: TableColumnBase<S,T>
index
- ObservableValue<T>が検索されるアイテム(型S)のインデックス。public final ObservableValue<T> getCellObservableValue(S item)
これを実行するには、cell value factory
を呼び出し、CellDataFeatures
が渡されたときにそれによって返されたものを返します(詳細は、TableColumn
およびTreeTableColumn
に属するCellDataFeaturesクラスなどを参照)。
getCellObservableValue
、クラス: TableColumnBase<S,T>
item
- ObservableValue<T>が検索されるアイテム(型S)。public String getTypeSelector()
Styleable
の型。これはHTMLの要素に似ています(CSSタイプ・セレクタ)。getTypeSelector
、インタフェース: Styleable
public Styleable getStyleableParent()
getStyleableParent
、インタフェース: Styleable
getTableView()
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.