- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.TableView<S>
-
- 型パラメータ:
S
- TableViewアイテム・リスト内に含まれるオブジェクトのタイプ。
- すべての実装されたインタフェース:
Styleable
,EventTarget
,Skinnable
@DefaultProperty("items") public class TableView<S> extends Control
TableViewコントロールは、無制限の数のデータ行と列を視覚化するために設計されています。 したがって、TableViewはListView
コントロールに非常に似ており、さらに列をサポートします。 TableViewの作成方法の例については、後述の項「TableViewの作成」を参照してください。TableViewコントロールには、次のような多くの機能があります。
- 強力な
TableColumn
API:- レンダリング状態と編集状態の両方で
cell
コンテンツを簡単にカスタマイズするためのcell factories
のサポート。 minWidth
、prefWidth
、maxWidth
およびfixed width columns
の指定。- ユーザーによる実行時の幅のサイズ変更。
- ユーザーによる実行時の列の並替え。
column nesting
の組込みサポート。
- レンダリング状態と編集状態の両方で
- ユーザーが列をサイズ変更したときの動作を指定する様々な
resizing policies
。 - 列ヘッダーのクリックによる
multiple column sorting
のサポート(複数の列でソートするには、キーボードの[Shift]キーを押しながらヘッダーをクリックします)。
TableViewはデータの視覚化に使用することを目的したもので、それはユーザー・インタフェースのレイアウトに使用することを目的としていないことに注意してください。 グリッド形式でユーザー・インタフェースをレイアウトする場合は、かわりに
GridPane
レイアウトを検討してください。TableViewの作成
TableViewの作成は、複数のステップからなるプロセスで、表現する必要がある基礎となるデータ・モデルに応じて異なります。 この例では、ObservableList <Person>を使用します。これは、TableViewでデータを表示する最も簡単な方法です。 <code> Person </code>クラスは、名字と姓のプロパティで構成されます。 つまり、次のようになります。
public class Person { private StringProperty firstName; public void setFirstName(String value) { firstNameProperty().set(value); } public String getFirstName() { return firstNameProperty().get(); } public StringProperty firstNameProperty() { if (firstName == null) firstName = new SimpleStringProperty(this, "firstName"); return firstName; } private StringProperty lastName; public void setLastName(String value) { lastNameProperty().set(value); } public String getLastName() { return lastNameProperty().get(); } public StringProperty lastNameProperty() { if (lastName == null) lastName = new SimpleStringProperty(this, "lastName"); return lastName; } }
最初に、次のように、TableViewインスタンスを定義する必要があります。
TableView<Person> table = new TableView<Person>();
ObservableList<Person> teamMembers = getTeamMembers(); table.setItems(teamMembers);
このように設定されたアイテムにより、
teamMembers
リストが変更されると、TableViewが自動的に更新されます。 TableViewがインスタンス化される前にアイテム・リストが使用可能になると、それがコンストラクタに直接渡される可能性があります。この時点で、
teamMembers
のobservableListを監視するために、TableViewが構成されました。 この時点で欠けている構成要素は、モデル内に含まれているデータを分割する方法と、それを1つ以上のTableColumn
インスタンスで表現する方法です。 2列のTableViewを作成して、firstNameとlastNameのプロパティを表示するには、次のように直前のコード・サンプルを拡張します。ObservableList<Person> teamMembers = ...; table.setItems(teamMembers); TableColumn<Person,String> firstNameCol = new TableColumn<Person,String>("First Name"); firstNameCol.setCellValueFactory(new PropertyValueFactory("firstName")); TableColumn<Person,String> lastNameCol = new TableColumn<Person,String>("Last Name"); lastNameCol.setCellValueFactory(new PropertyValueFactory("lastName")); table.getColumns().setAll(firstNameCol, lastNameCol);
前述のコードで、TableViewインスタンスの作成に最低限必要なプロパティを完全に定義しました。 このコード(人のObservableListが適切に作成されていることを想定しています)を実行すると、firstNameとlastNameの2つの列を持つTableViewが表示されます。 TableColumnが定義されない場合は、Personクラスの他のプロパティは表示されません。
プロパティを含まないクラスに対するTableViewのサポート
前述のコードは、JavaFXプロパティを考慮してドメイン・オブジェクトが設計されている場合にTableViewを作成するための最低限の短いコードです(また、
PropertyValueFactory
は標準のJavaBeanプロパティもサポートしますが、これに対する注意事項があるため、クラスのドキュメントで詳細を参照してください)。 これに当てはまらない場合は、カスタムのセル値ファクトリを指定する必要があります。 セル値ファクトリの詳細情報は、TableColumn
APIのドキュメントに記載されていますが、ここでは簡潔にTableColumnの指定方法を示します。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の選択/フォーカス用API
選択およびフォーカスを追跡するには、
SelectionModel
クラスおよびFocusModel
クラスに習熟することが必要です。 TableViewには、selectionModel
とfocusModel
のプロパティからそれぞれ入手できる、これらのクラスのインスタンスを最大で1つずつ指定できます。 このAPIを使用すると新しい選択モデルを設定できますが、ほとんどの場合は、デフォルトの選択モデルおよびフォーカス・モデルが機能するため、このことは必要ありません。デフォルトの
SelectionModel
は、TableViewのインスタンス化がMultipleSelectionModel
抽象クラスの実装の場合に使用されます。 ただし、selectionMode
プロパティのAPIドキュメントに示されているように、デフォルト値はSelectionMode.SINGLE
です。 したがって、デフォルトのTableViewインスタンスでの複数選択を可能にするには、次を実行する必要があります。tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
TableViewのビジュアルのカスタマイズ
TableViewのビジュアルは、デフォルトの
row factory
を置換することで、全体的にカスタマイズできます。 行ファクトリは、TableViewの行全体を表すために使用されるTableRow
インスタンスを生成するために使用されます。ただし、行ごとの基準ではなく、列ごとの基準でセルをカスタマイズすることがより一般的であるため、多くの場合、このことは望ましくありません。 したがって、
TableRow
はTableCell
ではないことに注意することが重要です。TableRow
は単に、ゼロ個以上のTableCell
のコンテナで、ほとんどの状況において、TableRowよりも、カスタムのTableCellを作成する方が多くなります。 カスタムのTableRowインスタンスを作成する主なユースケースは、通常、なんらかの形式の列範囲サポートを導入することです。TableColumnの
cell factory
プロパティに適切な関数を割り当てて、列ごとにカスタムのTableCell
インスタンスを作成できます。カスタム・セルを作成する方法の詳細は、
Cell
クラスのドキュメントを参照してください。ソート
JavaFX 8.0より前では、TableViewコントロールによって
items
リストが表示モデルとして処理されており、これはリストに対する変更がすぐに視覚的に反映されることを意味します。 また、ユーザーがソートを開始したときに、TableViewによってこのリストの順序が直接変更されていました。 このことは、(繰り返しますが、JavaFX 8.0より前では)TableViewで(昇順と降順を繰り返した後で)未ソートの状態に戻すことができなかったことを意味します。JavaFX 8.0以降(および
SortedList
の導入)で、TableViewのsort order
の一部である列がない場合に、コレクションを未ソートの状態に戻すことができるようになりました。 これを行うには、SortedListインスタンスを作成して、そのcomparator
プロパティをTableViewのcomparator
プロパティにバインドし、そのようにリストする必要があります。// create a SortedList based on the provided ObservableList SortedList sortedList = new SortedList(FXCollections.observableArrayList(2, 1, 3)); // create a TableView with the sorted list set as the items it will show final TableView<Integer> tableView = new TableView<>(sortedList); // bind the sortedList comparator to the TableView comparator sortedList.comparatorProperty().bind(tableView.comparatorProperty()); // Don't forget to define columns!
編集
このコントロールは値のインライン編集をサポートしており、このセクションでは使用可能なAPIの概要とその使用方法を示します。
まず、通常、セルを編集する場合は、セルを編集しないときとは異なるユーザー・インタフェースが必要となります。 このことは、使用する
Cell
実装によって行います。 TableViewでは、多くの場合、ユーザーごとに各列の値を異なるように編集できるようにする必要があり、編集をper row
ではなくper-TableColumn
にすることで列ごとに固有の編集者が許可されるため、この方法をお薦めします。 セルを永続的に編集状態にするか(たとえば、このことはCheckBox
セルでは一般的です)、編集が開始されたとき(たとえば、セルでダブルクリックを受け取ったとき)に別のUIに切り替えるかは任意です。セルに対する編集がいつリクエストされたかを知るには、単に
Cell.startEdit()
メソッドをオーバーライドし、セルのtext
プロパティおよびgraphic
プロパティを適切に更新します(たとえば、textをnullに設定し、graphicをTextField
に設定します)。 また、編集が完了したときにUIを元の視覚的状態にリセットするようにCell.cancelEdit()
もオーバーライドします。 どちらの場合も、スーパー・メソッドを呼び出して、編集モードを開始または終了するために必要なすべての作業をセルで実行するようにすることが重要です。セルが編集状態になったら、次に、現在行っている編集をコミットまたは取り消す方法を確認しておきましょう。 このことは、セル・ファクトリ・プロバイダとしてユーザーが行います。 セル実装は、ユーザー入力に基づいて(たとえば、ユーザーがキーボードで[Enter]キーまたは[Esc]キーを押したとき)、編集の終了を認識します。 このことが発生したときは、
Cell.commitEdit(Object)
またはCell.cancelEdit()
を適切に呼び出す必要があります。Cell.commitEdit(Object)
を呼び出すと、TableViewに対してイベントが起動され、これはTableColumn.setOnEditCommit(javafx.event.EventHandler)
を介してEventHandler
を追加することで監視できます。 また、edit start
とedit cancel
の編集イベントを監視することもできます。デフォルトでは、TableColumnの編集コミット・ハンドラはnull以外であり、デフォルトのハンドラでは、現在編集中の行のアイテムのプロパティ値を上書きすることを試みます。 このことは、
Cell.commitEdit(Object)
メソッドに新しい値が渡され、これが、起動されたCellEditEvent
を介して編集コミット・ハンドラに渡されると、実行可能になります。 これは単に、この値を取得するためのTableColumn.CellEditEvent.getNewValue()
の呼出しの問題です。独自の
EventHandler
でTableColumn.setOnEditCommit(javafx.event.EventHandler)
を呼び出す場合に、デフォルトのハンドラを削除することに注意することが非常に重要です。 その後、プロパティ(または関連するデータ・ソース)へのライトバックを処理しないかぎり、何も実行されません。 このことは、TableColumnBase.addEventHandler(javafx.event.EventType, javafx.event.EventHandler)
メソッドを使用し、2番目の引数を目的のEventHandler
として、TableColumn.EDIT_COMMIT_EVENT
EventType
を追加することによって回避できます。 このメソッドを使用すると、デフォルトの実装は置き換えられず、編集コミットが発生したときに通知されるようになります。このサマリーでは、よくある質問に対して答えを示すことを意図しています。 JavaFXには、かわりにすべての編集要件を処理する、数多くの事前作成のセル・ファクトリが付属しています。 これらの事前作成のセル・ファクトリは、javafx.scene.control.cellパッケージにあります。
- 導入されたバージョン:
- JavaFX 2.0
- 関連項目:
TableColumn
、TablePosition
-
-
プロパティのサマリー
プロパティ Type プロパティ 説明 ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>>
columnResizePolicy
これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。ReadOnlyObjectProperty<Comparator<S>>
comparator
コンパレータ・プロパティは、sort order
リストの現在の状態を表す読取り専用プロパティです。BooleanProperty
editable
このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。ReadOnlyObjectProperty<TablePosition<S,?>>
editingCell
編集されている現在のセルか、編集されているセルがない場合はnullを表します。DoubleProperty
fixedCellSize
このコントロールが指定された値の固定された高さであるセルを持つかどうかを指定します。ObjectProperty<TableView.TableViewFocusModel<S>>
focusModel
このTableViewの現在インストールされているTableView.TableViewFocusModel
を表します。ObjectProperty<ObservableList<S>>
items
TableViewの基礎となるデータ・モデル。ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>>
onScrollToColumn
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。ObjectProperty<EventHandler<ScrollToEvent<Integer>>>
onScrollTo
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。ObjectProperty<EventHandler<SortEvent<TableView<S>>>>
onSort
コントロールをソートするリクエストがある場合に呼び出されます。ObjectProperty<Node>
placeholder
表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。ObjectProperty<Callback<TableView<S>,TableRow<S>>>
rowFactory
TableRowを生成する関数。ObjectProperty<TableView.TableViewSelectionModel<S>>
selectionModel
SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。ObjectProperty<Callback<TableView<S>,Boolean>>
sortPolicy
ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。BooleanProperty
tableMenuButtonVisible
これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。-
クラス javafx.scene.control.Controlから継承されたプロパティ
contextMenu、skin、tooltip
-
クラスjavafx.scene.Nodeから継承されたプロパティ
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
-
クラス javafx.scene.Parentから継承されたプロパティ
needsLayout
-
クラス javafx.scene.layout.Regionから継承されたプロパティ
background、border、cacheShape、centerShape、height、insets、maxHeight、maxWidth、minHeight、minWidth、opaqueInsets、padding、prefHeight、prefWidth、scaleShape、shape、snapToPixel、width
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 クラス 説明 static class
TableView.ResizeFeatures<S>
TableViewcolumn resize
機能で使用される不変のラッパー・クラス。static class
TableView.TableViewFocusModel<S>
TableViewコントロールの要件をサポートする追加機能を持つFocusModel
。static class
TableView.TableViewSelectionModel<S>
TableViewコントロール用の特別なサポートを可能にするSelectionModel
抽象クラスの単純な拡張。
-
フィールドのサマリー
フィールド 修飾子と型 フィールド 説明 static Callback<TableView.ResizeFeatures,Boolean>
CONSTRAINED_RESIZE_POLICY
この表内の表示可能なすべてのリーフ列の幅を合計すると、この表自体の幅と等しくなるようにする単純なポリシー。static Callback<TableView,Boolean>
DEFAULT_SORT_POLICY
他のポリシーが指定されていない場合に、このTableViewで使用されるデフォルトのsort policy
。static Callback<TableView.ResizeFeatures,Boolean>
UNCONSTRAINED_RESIZE_POLICY
単に、指定された列を指定されたデルタでサイズ変更し、(指定された列の右側にある)他のすべての列を(デルタが正の場合には)右側に、または(デルタが負の場合には)左側にシフトする、非常に単純なサイズ変更ポリシー。-
クラスjavafx.scene.Nodeから継承されたフィールド
BASELINE_OFFSET_SAME_AS_HEIGHT
-
クラス javafx.scene.layout.Regionから継承されたフィールド
USE_COMPUTED_SIZE、USE_PREF_SIZE
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 TableView()
コンテンツのないデフォルトのTableViewコントロールを作成します。TableView(ObservableList<S> items)
アイテムObservableListに指定されたコンテンツを含むTableViewを作成します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>>
columnResizePolicyProperty()
これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。ReadOnlyObjectProperty<Comparator<S>>
comparatorProperty()
コンパレータ・プロパティは、sort order
リストの現在の状態を表す読取り専用プロパティです。protected Skin<?>
createDefaultSkin()
このコントロールのデフォルト・スキンの新しいインスタンスを作成します。void
edit(int row, TableColumn<S,?> column)
指定された行/列のビュー・インデックスのセルが、まだ編集モードでない場合は編集モードに切り替わり、TableViewおよび列も編集可能とみなされます。BooleanProperty
editableProperty()
このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。ReadOnlyObjectProperty<TablePosition<S,?>>
editingCellProperty()
編集されている現在のセルか、編集されているセルがない場合はnullを表します。DoubleProperty
fixedCellSizeProperty()
このコントロールが指定された値の固定された高さであるセルを持つかどうかを指定します。ObjectProperty<TableView.TableViewFocusModel<S>>
focusModelProperty()
このTableViewの現在インストールされているTableView.TableViewFocusModel
を表します。static List<CssMetaData<? extends Styleable,?>>
getClassCssMetaData()
Callback<TableView.ResizeFeatures,Boolean>
getColumnResizePolicy()
プロパティcolumnResizePolicyの値を取得します。ObservableList<TableColumn<S,?>>
getColumns()
このTableViewの一部であるTableColumn。Comparator<S>
getComparator()
プロパティcomparatorの値を取得します。List<CssMetaData<? extends Styleable,?>>
getControlCssMetaData()
TablePosition<S,?>
getEditingCell()
プロパティeditingCellの値を取得します。double
getFixedCellSize()
固定セル・サイズ値を返します。TableView.TableViewFocusModel<S>
getFocusModel()
プロパティfocusModelの値を取得します。ObservableList<S>
getItems()
プロパティ・アイテムの値を取得します。EventHandler<ScrollToEvent<Integer>>
getOnScrollTo()
プロパティonScrollToの値を取得します。EventHandler<ScrollToEvent<TableColumn<S,?>>>
getOnScrollToColumn()
プロパティonScrollToColumnの値を取得します。EventHandler<SortEvent<TableView<S>>>
getOnSort()
プロパティonSortの値を取得します。Node
getPlaceholder()
プロパティ・プレースホルダの値を取得します。Callback<TableView<S>,TableRow<S>>
getRowFactory()
プロパティrowFactoryの値を取得します。TableView.TableViewSelectionModel<S>
getSelectionModel()
プロパティselectionModelの値を取得します。ObservableList<TableColumn<S,?>>
getSortOrder()
sortOrderリストは、TableColumn
インスタンスのソート順序を定義します。Callback<TableView<S>,Boolean>
getSortPolicy()
プロパティsortPolicyの値を取得します。TableColumn<S,?>
getVisibleLeafColumn(int column)
他のすべての表示されているリーフ列に相対的な、指定された列インデックスのTableColumnを返します。ObservableList<TableColumn<S,?>>
getVisibleLeafColumns()
現在表示されているリーフ列を含む変更不可能なリストを返します。int
getVisibleLeafIndex(TableColumn<S,?> column)
他のすべての表示されているリーフ列に対して相対的な、指定された列の位置を返します。boolean
isEditable()
プロパティeditableの値を取得します。boolean
isTableMenuButtonVisible()
プロパティtableMenuButtonVisibleの値を取得します。ObjectProperty<ObservableList<S>>
itemsProperty()
TableViewの基礎となるデータ・モデル。ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>>
onScrollToColumnProperty()
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。ObjectProperty<EventHandler<ScrollToEvent<Integer>>>
onScrollToProperty()
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。ObjectProperty<EventHandler<SortEvent<TableView<S>>>>
onSortProperty()
コントロールをソートするリクエストがある場合に呼び出されます。ObjectProperty<Node>
placeholderProperty()
表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。Object
queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
このメソッドは、属性の値をリクエストするためにアシスティブ・テクノロジによって呼び出されます。void
refresh()
refresh()
を呼び出すと、TableViewコントロールは、コントロールのビジュアル境界に移入するために必要なセルを再作成して再投入します。boolean
resizeColumn(TableColumn<S,?> column, double delta)
現在導入されているサイズ変更ポリシーを指定された列に適用し、指定されたデルタ値に基づいてサイズ変更します。ObjectProperty<Callback<TableView<S>,TableRow<S>>>
rowFactoryProperty()
TableRowを生成する関数。void
scrollTo(int index)
特定のインデックスをビューポート内で表示できるようにTableViewをスクロールします。void
scrollTo(S object)
TableViewをスクロールして、指定されたオブジェクトがビューポート内に表示されるようにします。void
scrollToColumn(TableColumn<S,?> column)
TableViewをスクロールして、指定された列がビューポート内に表示されるようにします。void
scrollToColumnIndex(int columnIndex)
特定のインデックスをビューポート内で表示できるようにTableViewをスクロールします。ObjectProperty<TableView.TableViewSelectionModel<S>>
selectionModelProperty()
SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。void
setColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)
プロパティcolumnResizePolicyの値を設定します。void
setEditable(boolean value)
プロパティeditableの値を設定します。void
setFixedCellSize(double value)
このコントロールの新しい固定セル・サイズを設定します。void
setFocusModel(TableView.TableViewFocusModel<S> value)
プロパティfocusModelの値を設定します。void
setItems(ObservableList<S> value)
プロパティ・アイテムの値を設定します。void
setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
プロパティonScrollToの値を設定します。void
setOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,?>>> value)
プロパティonScrollToColumnの値を設定します。void
setOnSort(EventHandler<SortEvent<TableView<S>>> value)
プロパティonSortの値を設定します。void
setPlaceholder(Node value)
プロパティ・プレースホルダの値を設定します。void
setRowFactory(Callback<TableView<S>,TableRow<S>> value)
プロパティrowFactoryの値を設定します。void
setSelectionModel(TableView.TableViewSelectionModel<S> value)
プロパティselectionModelの値を設定します。void
setSortPolicy(Callback<TableView<S>,Boolean> callback)
プロパティsortPolicyの値を設定します。void
setTableMenuButtonVisible(boolean value)
プロパティtableMenuButtonVisibleの値を設定します。void
sort()
sortメソッドにより、TableViewでそのソート・アルゴリズムが強制的に再実行されます。ObjectProperty<Callback<TableView<S>,Boolean>>
sortPolicyProperty()
ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。BooleanProperty
tableMenuButtonVisibleProperty()
これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。-
クラス javafx.scene.control.Controlから継承されたメソッド
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
クラスjavafx.scene.Nodeから継承されたメソッド
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
-
クラス java.lang.Objectから継承されたメソッド
clone、equals、finalize、getClass、hashCode、notify、notifyAll、wait、wait、wait
-
クラス javafx.scene.Parentから継承されたメソッド
getChildren、getChildrenUnmodifiable、getManagedChildren、getStylesheets、isNeedsLayout、layout、lookup、needsLayoutProperty、requestLayout、requestParentLayout、setNeedsLayout、updateBounds
-
クラス javafx.scene.layout.Regionから継承されたメソッド
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthProperty
-
インタフェース javafx.css.Styleableから継承されたメソッド
getStyleableNode
-
-
-
-
プロパティの詳細
-
items
public final ObjectProperty<ObservableList<S>> itemsProperty
TableViewの基礎となるデータ・モデル。 この汎用型は、TableView自体の型と一致する必要があります。
-
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。 このメニューにより、ユーザーはすべてのTableColumnの表示と非表示を簡単に切り替えることができます。
-
columnResizePolicy
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。 TableViewクラスの静的関数として、2つの最も一般的なポリシーであるUNCONSTRAINED_RESIZE_POLICY
とCONSTRAINED_RESIZE_POLICY
を使用できます。
-
rowFactory
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty
TableRowを生成する関数。 TableRowの再利用はシステムによって行われます。 この関数から、TableViewの単一行を表すために使用できる可能性があるTableRowを返します。TableRowはTableCellではないことに注意してください。 TableRowは単にTableCellのコンテナで、ほとんどの状況において、TableRowよりも、カスタムのTableCellを作成する方が多くなります。 カスタムのTableRowインスタンスを作成する主なユースケースは、通常、なんらかの形式の列範囲サポートを導入することです。
TableColumnクラスのcellFactoryプロパティに適切な関数を割り当てて、列ごとにカスタムのTableCellインスタンスを作成できます。
-
placeholder
public final ObjectProperty<Node> placeholderProperty
表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。 これは、表モデルの最初の場所にデータがないことが原因であるか、表モデルにフィルタが適用されたことで、ユーザーに何も表示されないか、現在表示可能な列がない可能性があります。
-
selectionModel
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty
SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。 この汎用型は、TableView自体の型と一致する必要があります。
-
focusModel
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
このTableViewの現在インストールされているTableView.TableViewFocusModel
を表します。 ほとんど状況では、デフォルトのフォーカス・モデルのままで十分です。
-
editable
public final BooleanProperty editableProperty
このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。
-
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
このコントロールが指定された値の固定された高さであるセルを持つかどうかを指定します。 この値がゼロ以下の場合、すべてのセルは個別にサイズと位置が設定されます。 この操作には時間がかかります。 このため、パフォーマンスが重要で、開発者が可変セル・サイズに依存しないときは、固定セル・サイズ値を設定することをお薦めします。 一般的に、セルは24px前後であるため、固定セル・サイズを24に設定すると、ビジュアルをほとんど変化させることなく、パフォーマンスが向上します。CSSでこのプロパティを設定するには、-fx-fixed-cell-sizeプロパティを使用します。 これを-fx-cell-sizeプロパティと混同しないでください。 この2つのCSSプロパティ間の違いは、-fx-cell-sizeではすべてのセルを指定されたサイズに設定しますが、これが唯一のサイズとはならないことです(このため、可変セル・サイズが許容され、パフォーマンスの向上を妨げる可能性があります)。 このため、パフォーマンスを重視する場合は、-fx-cell-sizeではなく-fx-fixed-cell-sizeを使用してください。 CSSに両方のプロパティを指定した場合は、-fx-fixed-cell-sizeが優先されます。
- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getFixedCellSize()
、setFixedCellSize(double)
-
editingCell
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty
編集されている現在のセルか、編集されているセルがない場合はnullを表します。- 関連項目:
getEditingCell()
-
comparator
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty
コンパレータ・プロパティは、sort order
リストの現在の状態を表す読取り専用プロパティです。 ソート順序のリストには、プログラムによって、またはヘッダー自体をユーザーがクリックしてそれに追加された列が含まれます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getComparator()
-
sortPolicy
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty
ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。 たとえば、基本的なソート・ポリシーでは単に、FXCollections.sort(tableView.getItems())
を呼び出すことができますが、より高度なソート・ポリシーではデータベースに対する呼出しを行い、サーバー側で必要なソートを実行できます。TableViewには、前述のように、単にインプレースでアイテム・リストのソートを試行する
default sort policy
が付属しています。sort
メソッドのオーバーライドではなく、かわりに別のソート・ポリシーを指定することをお薦めします。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getSortPolicy()
、setSortPolicy(Callback)
-
onSort
public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty
コントロールをソートするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnSort()
、setOnSort(EventHandler)
-
onScrollTo
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnScrollTo()
、setOnScrollTo(EventHandler)
-
onScrollToColumn
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnScrollToColumn()
、setOnScrollToColumn(EventHandler)
-
-
フィールドの詳細
-
UNCONSTRAINED_RESIZE_POLICY
public static final Callback<TableView.ResizeFeatures,Boolean> UNCONSTRAINED_RESIZE_POLICY
単に、指定された列を指定されたデルタでサイズ変更し、(指定された列の右側にある)他のすべての列を(デルタが正の場合には)右側に、または(デルタが負の場合には)左側にシフトする、非常に単純なサイズ変更ポリシー。
また、これは、新しいスペースを共有することによって、または削除されたスペースをすべての直下の子の列間で均等に差し引くことによって、列をネストしているケースも処理します。 直下の子はそれ自体をネストでき、次にそれらがその子に対してこのポリシーを使用します。
-
CONSTRAINED_RESIZE_POLICY
public static final Callback<TableView.ResizeFeatures,Boolean> CONSTRAINED_RESIZE_POLICY
この表内の表示可能なすべてのリーフ列の幅を合計すると、この表自体の幅と等しくなるようにする単純なポリシー。
ユーザーがこのポリシーで列の幅をサイズ変更すると、表で右側の列の幅が自動的に調整されます。 ユーザーが列の幅を拡大すると、表で右端の列の幅がその最小幅に達するまでそれが縮小されます。 次に、右から2番目の列の幅がその最小幅に達するまでそれが縮小されます(以下同様)。 すべての右側の列が最小サイズに達すると、ユーザーはサイズ変更する列のサイズをそれ以上拡大できません。
-
DEFAULT_SORT_POLICY
public static final Callback<TableView,Boolean> DEFAULT_SORT_POLICY
他のポリシーが指定されていない場合に、このTableViewで使用されるデフォルトのsort policy
。 ソート・ポリシーは、TableViewを唯一の引数として受け入れて、ソートが成功したかどうかを表すブールのレスポンスを期待する単純なCallback
です。 ブールのtrueのレスポンスは成功を表し、false (またはnull)のレスポンスは失敗を表すとみなされます。- 導入されたバージョン:
- JavaFX 8.0
-
-
コンストラクタの詳細
-
TableView
public TableView()
コンテンツのないデフォルトのTableViewコントロールを作成します。その他のプロパティのデフォルトの状態の詳細は、
TableView
クラスのドキュメントを参照してください。
-
TableView
public TableView(ObservableList<S> items)
アイテムObservableListに指定されたコンテンツを含むTableViewを作成します。 これにより、オブザーバも設定され、アイテム・リストに対する変更がTableView自体にすぐに反映されるようになります。その他のプロパティのデフォルトの状態の詳細は、
TableView
クラスのドキュメントを参照してください。- パラメータ:
items
- TableViewに挿入するアイテム、および変更をウォッチするリスト(TableViewに自動的に表示するため)。
-
-
メソッドの詳細
-
itemsProperty
public final ObjectProperty<ObservableList<S>> itemsProperty()
TableViewの基礎となるデータ・モデル。 この汎用型は、TableView自体の型と一致する必要があります。
-
setItems
public final void setItems(ObservableList<S> value)
プロパティ・アイテムの値を設定します。- プロパティの説明:
- TableViewの基礎となるデータ・モデル。 この汎用型は、TableView自体の型と一致する必要があります。
-
getItems
public final ObservableList<S> getItems()
プロパティ・アイテムの値を取得します。- プロパティの説明:
- TableViewの基礎となるデータ・モデル。 この汎用型は、TableView自体の型と一致する必要があります。
-
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。 このメニューにより、ユーザーはすべてのTableColumnの表示と非表示を簡単に切り替えることができます。
-
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
プロパティtableMenuButtonVisibleの値を設定します。- プロパティの説明:
- これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。 このメニューにより、ユーザーはすべてのTableColumnの表示と非表示を簡単に切り替えることができます。
-
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
プロパティtableMenuButtonVisibleの値を取得します。- プロパティの説明:
- これは、TableView内の指定されたスペースをユーザーがクリックするとメニュー・ボタンを使用可能にするかどうかを制御します。ここには、この表の各TableColumnのラジオ・メニュー・アイテムが表示されます。 このメニューにより、ユーザーはすべてのTableColumnの表示と非表示を簡単に切り替えることができます。
-
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)
プロパティcolumnResizePolicyの値を設定します。- プロパティの説明:
- これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。 TableViewクラスの静的関数として、2つの最も一般的なポリシーである
UNCONSTRAINED_RESIZE_POLICY
とCONSTRAINED_RESIZE_POLICY
を使用できます。
-
getColumnResizePolicy
public final Callback<TableView.ResizeFeatures,Boolean> getColumnResizePolicy()
プロパティcolumnResizePolicyの値を取得します。- プロパティの説明:
- これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。 TableViewクラスの静的関数として、2つの最も一般的なポリシーである
UNCONSTRAINED_RESIZE_POLICY
とCONSTRAINED_RESIZE_POLICY
を使用できます。
-
columnResizePolicyProperty
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
これは、ユーザーが列のサイズ変更操作を完了する場合に呼び出されるファンクションです。 TableViewクラスの静的関数として、2つの最も一般的なポリシーであるUNCONSTRAINED_RESIZE_POLICY
とCONSTRAINED_RESIZE_POLICY
を使用できます。
-
rowFactoryProperty
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty()
TableRowを生成する関数。 TableRowの再利用はシステムによって行われます。 この関数から、TableViewの単一行を表すために使用できる可能性があるTableRowを返します。TableRowはTableCellではないことに注意してください。 TableRowは単にTableCellのコンテナで、ほとんどの状況において、TableRowよりも、カスタムのTableCellを作成する方が多くなります。 カスタムのTableRowインスタンスを作成する主なユースケースは、通常、なんらかの形式の列範囲サポートを導入することです。
TableColumnクラスのcellFactoryプロパティに適切な関数を割り当てて、列ごとにカスタムのTableCellインスタンスを作成できます。
-
setRowFactory
public final void setRowFactory(Callback<TableView<S>,TableRow<S>> value)
プロパティrowFactoryの値を設定します。- プロパティの説明:
- TableRowを生成する関数。 TableRowの再利用はシステムによって行われます。 この関数から、TableViewの単一行を表すために使用できる可能性があるTableRowを返します。
TableRowはTableCellではないことに注意してください。 TableRowは単にTableCellのコンテナで、ほとんどの状況において、TableRowよりも、カスタムのTableCellを作成する方が多くなります。 カスタムのTableRowインスタンスを作成する主なユースケースは、通常、なんらかの形式の列範囲サポートを導入することです。
TableColumnクラスのcellFactoryプロパティに適切な関数を割り当てて、列ごとにカスタムのTableCellインスタンスを作成できます。
-
getRowFactory
public final Callback<TableView<S>,TableRow<S>> getRowFactory()
プロパティrowFactoryの値を取得します。- プロパティの説明:
- TableRowを生成する関数。 TableRowの再利用はシステムによって行われます。 この関数から、TableViewの単一行を表すために使用できる可能性があるTableRowを返します。
TableRowはTableCellではないことに注意してください。 TableRowは単にTableCellのコンテナで、ほとんどの状況において、TableRowよりも、カスタムのTableCellを作成する方が多くなります。 カスタムのTableRowインスタンスを作成する主なユースケースは、通常、なんらかの形式の列範囲サポートを導入することです。
TableColumnクラスのcellFactoryプロパティに適切な関数を割り当てて、列ごとにカスタムのTableCellインスタンスを作成できます。
-
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。 これは、表モデルの最初の場所にデータがないことが原因であるか、表モデルにフィルタが適用されたことで、ユーザーに何も表示されないか、現在表示可能な列がない可能性があります。
-
setPlaceholder
public final void setPlaceholder(Node value)
プロパティ・プレースホルダの値を設定します。- プロパティの説明:
- 表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。 これは、表モデルの最初の場所にデータがないことが原因であるか、表モデルにフィルタが適用されたことで、ユーザーに何も表示されないか、現在表示可能な列がない可能性があります。
-
getPlaceholder
public final Node getPlaceholder()
プロパティ・プレースホルダの値を取得します。- プロパティの説明:
- 表示するコンテンツが表にない場合は、このノードがユーザーに表示されます。 これは、表モデルの最初の場所にデータがないことが原因であるか、表モデルにフィルタが適用されたことで、ユーザーに何も表示されないか、現在表示可能な列がない可能性があります。
-
selectionModelProperty
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。 この汎用型は、TableView自体の型と一致する必要があります。
-
setSelectionModel
public final void setSelectionModel(TableView.TableViewSelectionModel<S> value)
プロパティselectionModelの値を設定します。- プロパティの説明:
- SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。 この汎用型は、TableView自体の型と一致する必要があります。
-
getSelectionModel
public final TableView.TableViewSelectionModel<S> getSelectionModel()
プロパティselectionModelの値を取得します。- プロパティの説明:
- SelectionModelには、TableView内の1つまたは複数のアイテムを選択でき、ユーザーがどのアイテムを選択したかを調べることもできるAPIが用意されています。 この汎用型は、TableView自体の型と一致する必要があります。
-
setFocusModel
public final void setFocusModel(TableView.TableViewFocusModel<S> value)
プロパティfocusModelの値を設定します。- プロパティの説明:
- このTableViewの現在インストールされている
TableView.TableViewFocusModel
を表します。 ほとんど状況では、デフォルトのフォーカス・モデルのままで十分です。
-
getFocusModel
public final TableView.TableViewFocusModel<S> getFocusModel()
プロパティfocusModelの値を取得します。- プロパティの説明:
- このTableViewの現在インストールされている
TableView.TableViewFocusModel
を表します。 ほとんど状況では、デフォルトのフォーカス・モデルのままで十分です。
-
focusModelProperty
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
このTableViewの現在インストールされているTableView.TableViewFocusModel
を表します。 ほとんど状況では、デフォルトのフォーカス・モデルのままで十分です。
-
setEditable
public final void setEditable(boolean value)
プロパティeditableの値を設定します。- プロパティの説明:
- このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。
-
isEditable
public final boolean isEditable()
プロパティeditableの値を取得します。- プロパティの説明:
- このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。
-
editableProperty
public final BooleanProperty editableProperty()
このTableViewが編集可能かどうかを指定します - TableView、TableColumn(該当する場合)およびその中のTableCellが両方とも編集可能な場合にのみ、TableCellが編集状態になります。
-
setFixedCellSize
public final void setFixedCellSize(double value)
このコントロールの新しい固定セル・サイズを設定します。 値をゼロよりも大きくすると固定セル・サイズ・モードが有効になり、ゼロまたは負の値(またはRegion.USE_COMPUTED_SIZE)を使用すると固定セル・サイズ・モードが無効になります。- パラメータ:
value
- 新しい固定セル・サイズ値。無効にするには、ゼロ以下の値(または、Region.USE_COMPUTED_SIZE)にします。- 導入されたバージョン:
- JavaFX 8.0
-
getFixedCellSize
public final double getFixedCellSize()
固定セル・サイズ値を返します。 ゼロ以下の値は固定セル・サイズ・モードが無効になっていることを表す場合に使用し、ゼロよりも大きい値はこのコントロールのすべてのセルのサイズを表す場合に使用します。- 戻り値:
- このコントロールの固定セル・サイズを表す倍精度浮動小数点。固定セル・サイズ・モードが無効である場合にはゼロ以下の値にします。
- 導入されたバージョン:
- JavaFX 8.0
-
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
このコントロールが指定された値の固定された高さであるセルを持つかどうかを指定します。 この値がゼロ以下の場合、すべてのセルは個別にサイズと位置が設定されます。 この操作には時間がかかります。 このため、パフォーマンスが重要で、開発者が可変セル・サイズに依存しないときは、固定セル・サイズ値を設定することをお薦めします。 一般的に、セルは24px前後であるため、固定セル・サイズを24に設定すると、ビジュアルをほとんど変化させることなく、パフォーマンスが向上します。CSSでこのプロパティを設定するには、-fx-fixed-cell-sizeプロパティを使用します。 これを-fx-cell-sizeプロパティと混同しないでください。 この2つのCSSプロパティ間の違いは、-fx-cell-sizeではすべてのセルを指定されたサイズに設定しますが、これが唯一のサイズとはならないことです(このため、可変セル・サイズが許容され、パフォーマンスの向上を妨げる可能性があります)。 このため、パフォーマンスを重視する場合は、-fx-cell-sizeではなく-fx-fixed-cell-sizeを使用してください。 CSSに両方のプロパティを指定した場合は、-fx-fixed-cell-sizeが優先されます。
- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getFixedCellSize()
、setFixedCellSize(double)
-
getEditingCell
public final TablePosition<S,?> getEditingCell()
プロパティeditingCellの値を取得します。- プロパティの説明:
- 編集されている現在のセルか、編集されているセルがない場合はnullを表します。
-
editingCellProperty
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty()
編集されている現在のセルか、編集されているセルがない場合はnullを表します。- 関連項目:
getEditingCell()
-
getComparator
public final Comparator<S> getComparator()
プロパティcomparatorの値を取得します。- プロパティの説明:
- コンパレータ・プロパティは、
sort order
リストの現在の状態を表す読取り専用プロパティです。 ソート順序のリストには、プログラムによって、またはヘッダー自体をユーザーがクリックしてそれに追加された列が含まれます。 - 導入されたバージョン:
- JavaFX 8.0
-
comparatorProperty
public final ReadOnlyObjectProperty<Comparator<S>> comparatorProperty()
コンパレータ・プロパティは、sort order
リストの現在の状態を表す読取り専用プロパティです。 ソート順序のリストには、プログラムによって、またはヘッダー自体をユーザーがクリックしてそれに追加された列が含まれます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getComparator()
-
setSortPolicy
public final void setSortPolicy(Callback<TableView<S>,Boolean> callback)
プロパティsortPolicyの値を設定します。- プロパティの説明:
- ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。 たとえば、基本的なソート・ポリシーでは単に、
FXCollections.sort(tableView.getItems())
を呼び出すことができますが、より高度なソート・ポリシーではデータベースに対する呼出しを行い、サーバー側で必要なソートを実行できます。TableViewには、前述のように、単にインプレースでアイテム・リストのソートを試行する
default sort policy
が付属しています。sort
メソッドのオーバーライドではなく、かわりに別のソート・ポリシーを指定することをお薦めします。 - 導入されたバージョン:
- JavaFX 8.0
-
getSortPolicy
public final Callback<TableView<S>,Boolean> getSortPolicy()
プロパティsortPolicyの値を取得します。- プロパティの説明:
- ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。 たとえば、基本的なソート・ポリシーでは単に、
FXCollections.sort(tableView.getItems())
を呼び出すことができますが、より高度なソート・ポリシーではデータベースに対する呼出しを行い、サーバー側で必要なソートを実行できます。TableViewには、前述のように、単にインプレースでアイテム・リストのソートを試行する
default sort policy
が付属しています。sort
メソッドのオーバーライドではなく、かわりに別のソート・ポリシーを指定することをお薦めします。 - 導入されたバージョン:
- JavaFX 8.0
-
sortPolicyProperty
public final ObjectProperty<Callback<TableView<S>,Boolean>> sortPolicyProperty()
ソート・ポリシーでは、このTableViewのソートの実行方法を指定します。 たとえば、基本的なソート・ポリシーでは単に、FXCollections.sort(tableView.getItems())
を呼び出すことができますが、より高度なソート・ポリシーではデータベースに対する呼出しを行い、サーバー側で必要なソートを実行できます。TableViewには、前述のように、単にインプレースでアイテム・リストのソートを試行する
default sort policy
が付属しています。sort
メソッドのオーバーライドではなく、かわりに別のソート・ポリシーを指定することをお薦めします。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getSortPolicy()
、setSortPolicy(Callback)
-
setOnSort
public void setOnSort(EventHandler<SortEvent<TableView<S>>> value)
プロパティonSortの値を設定します。- プロパティの説明:
- コントロールをソートするリクエストがある場合に呼び出されます。
- 導入されたバージョン:
- JavaFX 8.0
-
getOnSort
public EventHandler<SortEvent<TableView<S>>> getOnSort()
プロパティonSortの値を取得します。- プロパティの説明:
- コントロールをソートするリクエストがある場合に呼び出されます。
- 導入されたバージョン:
- JavaFX 8.0
-
onSortProperty
public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
コントロールをソートするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnSort()
、setOnSort(EventHandler)
-
getColumns
public final ObservableList<TableColumn<S,?>> getColumns()
このTableViewの一部であるTableColumn。 ユーザーがTableViewの列を並び替えると、このリストが更新されて最新の表示順序が反映されます。注意: TableViewにデータを表示するには、このObservableListに1つ以上のTableColumnが必要です。
- 戻り値:
- 列
-
getSortOrder
public final ObservableList<TableColumn<S,?>> getSortOrder()
sortOrderリストは、TableColumn
インスタンスのソート順序を定義します。 空のsortOrderリストは、TableViewにソートが適用されていないことを意味します。 sortOrderリスト内に1つのTableColumnがある場合は、このTableColumnのsortType
とcomparator
のプロパティを使用してTableViewがソートされます(TableColumn.sortable
がtrueであることを想定しています)。 sortOrderリストに複数のTableColumnインスタンスが含まれる場合は、まず最初のTableColumnのプロパティに基づいて、TableViewがソートされます。 2つの要素が等しいとみなされる場合は、リストの2つ目のTableColumnが使用されて順序が決まります。 これは、必要に応じてすべてのTableColumnコンパレータからの結果が考慮されるまで繰り返されます。- 戻り値:
- ゼロ個以上のTableColumnインスタンスを含むObservableList。
-
scrollTo
public void scrollTo(int index)
特定のインデックスをビューポート内で表示できるようにTableViewをスクロールします。- パラメータ:
index
- ユーザーに表示されるアイテムのインデックス。
-
scrollTo
public void scrollTo(S object)
TableViewをスクロールして、指定されたオブジェクトがビューポート内に表示されるようにします。- パラメータ:
object
- ユーザーに表示するオブジェクト。- 導入されたバージョン:
- JavaFX 8.0
-
setOnScrollTo
public void setOnScrollTo(EventHandler<ScrollToEvent<Integer>> value)
プロパティonScrollToの値を設定します。- プロパティの説明:
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
-
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
プロパティonScrollToの値を取得します。- プロパティの説明:
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
-
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
scrollTo(int)
またはscrollTo(Object)
を使用してビューのインデックスをスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnScrollTo()
、setOnScrollTo(EventHandler)
-
scrollToColumn
public void scrollToColumn(TableColumn<S,?> column)
TableViewをスクロールして、指定された列がビューポート内に表示されるようにします。- パラメータ:
column
- ユーザーに表示される列。- 導入されたバージョン:
- JavaFX 8.0
-
scrollToColumnIndex
public void scrollToColumnIndex(int columnIndex)
特定のインデックスをビューポート内で表示できるようにTableViewをスクロールします。- パラメータ:
columnIndex
- ユーザーに表示される列のインデックス。- 導入されたバージョン:
- JavaFX 8.0
-
setOnScrollToColumn
public void setOnScrollToColumn(EventHandler<ScrollToEvent<TableColumn<S,?>>> value)
プロパティonScrollToColumnの値を設定します。- プロパティの説明:
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
-
getOnScrollToColumn
public EventHandler<ScrollToEvent<TableColumn<S,?>>> getOnScrollToColumn()
プロパティonScrollToColumnの値を取得します。- プロパティの説明:
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
-
onScrollToColumnProperty
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty()
scrollToColumn(TableColumn)
またはscrollToColumnIndex(int)
を使用してビューの列をスクロールするリクエストがある場合に呼び出されます。- 導入されたバージョン:
- JavaFX 8.0
- 関連項目:
getOnScrollToColumn()
、setOnScrollToColumn(EventHandler)
-
resizeColumn
public boolean resizeColumn(TableColumn<S,?> column, double delta)
現在導入されているサイズ変更ポリシーを指定された列に適用し、指定されたデルタ値に基づいてサイズ変更します。- パラメータ:
column
- 列delta
- デルタ- 戻り値:
- 列のサイズ変更が許可されている場合はtrue
-
edit
public void edit(int row, TableColumn<S,?> column)
指定された行/列のビュー・インデックスのセルが、まだ編集モードでない場合は編集モードに切り替わり、TableViewおよび列も編集可能とみなされます。注意: 指定された行値が0未満であり、指定された列がnullの場合、このメソッドは編集を取り消します。
- パラメータ:
row
- 行column
- 列
-
getVisibleLeafColumns
public ObservableList<TableColumn<S,?>> getVisibleLeafColumns()
現在表示されているリーフ列を含む変更不可能なリストを返します。- 戻り値:
- 現在表示されているリーフの列を含む変更不可能なリスト
-
getVisibleLeafIndex
public int getVisibleLeafIndex(TableColumn<S,?> column)
他のすべての表示されているリーフ列に対して相対的な、指定された列の位置を返します。- パラメータ:
column
- 列- 戻り値:
- 指定された列の他の表示されているすべてのリーフ列に対する相対位置
-
getVisibleLeafColumn
public TableColumn<S,?> getVisibleLeafColumn(int column)
他のすべての表示されているリーフ列に相対的な、指定された列インデックスのTableColumnを返します。- パラメータ:
column
- 列- 戻り値:
- 指定された列のインデックス内のTableColumn
-
createDefaultSkin
protected Skin<?> createDefaultSkin()
このコントロールのデフォルト・スキンの新しいインスタンスを作成します。 これは、CSS-fx-skin
を介してスキンが提供されていない場合にコントロール用のスキンを作成するために、またはsetSkin(...)
を使用してサブクラスで明示的に設定するために呼び出されます。- オーバーライド:
createDefaultSkin
、クラス:Control
- 戻り値:
- このコントロールのデフォルト・スキンの新しいインスタンス。 nullの場合、コントロールにはスキンがありません(Cssで提供されている場合を除く)。
-
sort
public void sort()
sortメソッドにより、TableViewでそのソート・アルゴリズムが強制的に再実行されます。 このメソッドはsort order
、sort policy
またはTableColumnのsort type
プロパティの状態が変更されたときに自動的に呼び出されるため、多くの場合、それを直接呼び出す必要はありません。 つまり、このメソッドは、外部のものが変更されソートが必要な場合にのみ、直接呼び出される必要があります。- 導入されたバージョン:
- JavaFX 8.0
-
refresh
public void refresh()
refresh()
を呼び出すと、TableViewコントロールは、コントロールのビジュアル境界に移入するために必要なセルを再作成して再投入します。 言い換えれば、TableViewはユーザーに表示している内容を更新します。 これは、基礎となるデータソースがTableView自体によって観察されないように変更された場合に便利です。- 導入されたバージョン:
- JavaFX 8u60
-
getClassCssMetaData
public static List<CssMetaData<? extends Styleable,?>> getClassCssMetaData()
- 戻り値:
- このクラスに関連付けられたCssMetaData。スーパークラスのCssMetaDataを含むことがあります。
- 導入されたバージョン:
- JavaFX 8.0
-
getControlCssMetaData
public List<CssMetaData<? extends Styleable,?>> getControlCssMetaData()
- オーバーライド:
getControlCssMetaData
、クラス:Control
- 戻り値:
- コントロールのCSSでスタイル設定可能なプロパティの変更不可能なリスト
- 導入されたバージョン:
- JavaFX 8.0
-
queryAccessibleAttribute
public Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
このメソッドは、属性の値をリクエストするためにアシスティブ・テクノロジによって呼び出されます。このメソッドは一般に、特定の役割に必要な属性を実装するためにサブクラスによってオーバーライドされます。
特定の属性が処理されない場合は、スーパークラスの実装を呼び出す必要があります。- オーバーライド:
queryAccessibleAttribute
、クラス:Control
- パラメータ:
attribute
- リクエストされた属性parameters
- オプションのパラメータ・リスト- 戻り値:
- リクエストされた属性の値
- 関連項目:
AccessibleAttribute
-
-