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, widthPropertyclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitbuildEventDispatchChainpublic 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()
getTypeSelector、インタフェースStyleablepublic Styleable getStyleableParent()
getStyleableParent、インタフェースStyleablegetTableView()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.