- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.TableView<S>
-
- 参数类型
-
S
- TableView项目列表中包含的对象的类型。
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
@DefaultProperty("items") public class TableView<S> extends Control
TableView控件旨在可视化无限数量的数据行,分为列。 因此,TableView非常类似于ListView
控件,还增加了对列的支持。 有关如何创建TableView的示例,请参阅下面的“创建TableView”控件部分。TableView控件有许多功能,包括:
- 强大的
TableColumn
API:- 支持
cell factories
轻松自定义cell
内容在渲染和编辑状态。 - 的说明书二七零七零零七五四七九七四八九 / 二百七万七千零七亿五千四百八十一万五千二百五十三 / 二百七十○万七千零七亿五千四百八十二万八千六百七十五 ,并且还
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);
对于这样的项目,TableView会在
teamMembers
列表更改时自动更新。 如果项目列表在TableView被实例化之前可用,则可以将它直接传递给构造函数。在这一点上,我们现在有一个TableView挂接观察
teamMembers
observableList。 缺失的成分现在是分解模型中包含的数据并在一个或多个TableColumn
实例中表示的方法。 要创建一个两列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被适当地创建)将导致一个TableView被显示为具有firstName和lastName两列。 不会显示Person类的任何其他属性,因为没有定义TableColumns。
对于不包含属性的类,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 Selection / Focus API
要跟踪选择和重点,有必要熟悉
SelectionModel
和FocusModel
类。 TableView最多有一个这些类的一个实例,分别可从selectionModel
和focusModel
属性获得。 虽然可以使用此API来设置新的选择模型,但在大多数情况下,这不是必需的 - 默认选择和焦点模型应该在大多数情况下工作。在实例化TableView时使用的默认值为
SelectionModel
是MultipleSelectionModel
抽象类的实现。 但是,如selectionMode
属性的API文档中所述,默认值为SelectionMode.SINGLE
。 要在默认的TableView实例中启用多个选择,因此需要执行以下操作:tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
自定义TableView视觉
可以通过替换默认的
row factory
完全自定义TableView的视觉效果。 行工厂用于生成TableRow
个实例,用于表示TableView中的整个行。在许多情况下,这不是所期望的,因为更常见的情况是,单元格是以每列为单位进行定制的,而不是每行。 因此,重要的是要注意,
TableRow
不是TableCell
。 ATableRow
只是一个零或多个TableCell
的容器,在大多数情况下,您更有可能要创建自定义TableCells而不是TableRows。 创建自定义TableRow实例的主要用例很可能是引入某种形式的列跨越支持。您可以通过将适当的功能分配给TableColumn
cell factory
属性来创建每列的自定义TableCell
实例。有关如何编写自定义单元格的更完整的说明,请参阅
Cell
类文档。排序
在JavaFX 8.0之前,TableView控件会将
items
列表视为视图模型,这意味着对列表的任何更改都将立即反映在视觉上。 当用户发起排序时,TableView也会直接修改此列表的顺序。 这意味着(再次,在JavaFX 8.0之前),不可能让TableView返回到未排序的状态(通过升序和降序顺序迭代)。从JavaFX 8.0开始(和
SortedList
的介绍),当没有列作为TableViewsort order
的一部分时,现在可以使收集返回到未排序状态。 为此,您必须创建一个SortedList实例,并将其comparator
属性绑定到TableViewcomparator
属性列表中:// 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-TableColumn
而不是per row
,因为您希望用户不希望用不同的方式编辑每个列值,并且这种方法允许对每列进行编辑。 您可以选择单元格是否处于编辑状态(例如,这对于CheckBox
单元格是常见的),或者在编辑开始时切换到不同的UI(例如,当单元格上接收到双击时)。要知道在单元格上请求编辑时,只需覆盖
Cell.startEdit()
方法,并根据需要更新单元格text
和graphic
属性(例如,将文本设置为null,并将图形设置为TextField
)。 此外,您还应该覆盖Cell.cancelEdit()
,以便在编辑结束时将UI重置为原始的可视状态。 在这两种情况下,重要的是您还要确保您调用超级方法以使单元格执行所有必须执行的任务,以进入或退出其编辑模式。一旦您的单元格处于编辑状态,您最感兴趣的下一件事就是如何提交或取消正在进行的编辑。 这是您作为电池厂商的责任。 您的单元实现将基于用户输入(例如当用户按下键盘上的Enter键或ESC键时)知道编辑结束。 发生这种情况时,您有责任酌情致电
Cell.commitEdit(Object)
或Cell.cancelEdit()
。当您调用
Cell.commitEdit(Object)
事件触发到TableView时,您可以通过TableColumn.setOnEditCommit(javafx.event.EventHandler)
添加一个EventHandler
来观察 。 同样,您也可以观察edit start
和edit cancel
的编辑事件。默认情况下,TableColumn编辑提交处理程序是非空的,默认处理程序会尝试覆盖当前正在编辑的行中的项目的属性值。 它可以做到这一点,因为
Cell.commitEdit(Object)
方法被传递给新的值,并且这被传递给编辑提交处理程序通过CellEditEvent
被触发。 只需调用TableColumn.CellEditEvent.getNewValue()
即可检索该值。需要注意的是,如果你把它是非常重要的
TableColumn.setOnEditCommit(javafx.event.EventHandler)
用自己EventHandler
,那么你会删除默认的处理程序。 除非您再处理该属性(或相关数据源)的回写,否则不会发生任何事情。 您可以使用TableColumnBase.addEventHandler(javafx.event.EventType, javafx.event.EventHandler)
方法添加一个TableColumn.EDIT_COMMIT_EVENT
EventType
与您所需的EventHandler
作为第二个参数。 使用此方法,您将不会替换默认实现,但在发生编辑提交时会收到通知。希望这个总结回答了一些常见问题。 幸运的是,JavaFX附带了许多预先构建的单元格工厂,可以代表您处理所有的编辑要求。 您可以在javafx.scene.control.cell包中找到这些预构建的单元工厂。
- 从以下版本开始:
- JavaFX 2.0
- 另请参见:
-
TableColumn
,TablePosition
-
-
Property Summary
-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class 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
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
TableView.ResizeFeatures<S>
用于TableViewcolumn resize
功能的不可变包装类。static class
TableView.TableViewFocusModel<S>
AFocusModel
具有支持TableView控件要求的附加功能。static class
TableView.TableViewSelectionModel<S>
SelectionModel
抽象类的简单扩展,允许对TableView控件的特殊支持。
-
Field Summary
Fields Modifier and Type Field 描述 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
非常简单的调整策略,只需通过提供的增量来调整指定列的大小,并将所有其他列(给定列的右侧)向右移动(当增量为正)或向左(当增量为负数时) 。-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
构造方法摘要
构造方法 Constructor 描述 TableView()
创建一个没有内容的默认TableView控件。TableView(ObservableList<S> items)
使用ObservableList项中提供的内容创建TableView。
-
方法摘要
-
Methods inherited from class 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
-
Methods inherited from class 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class 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
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
items
public final ObjectProperty<ObservableList<S>> itemsProperty
TableView的基础数据模型。 请注意,它具有必须与TableView本身类型匹配的通用类型。- 另请参见:
-
getItems()
,setItems(ObservableList)
-
tableMenuButtonVisible
public final BooleanProperty tableMenuButtonVisibleProperty
当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TableColumns。
-
columnResizePolicy
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty
这是当用户完成列大小调整操作时调用的函数。 X- 20045 X-4545 X-4545 X-4545 X-4545 X-4545 X-4545 X-4545 X-45 X- 200 200 200 200 200 200 : 20045 -40 200 X-
-
rowFactory
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty
一个产生TableRow的函数。 该系统负责重用TableRows。 从此函数返回可用于在TableView中表示单个行的TableRow。请注意,TableRow 不是 TableCell。 200的X- 20045 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 创建自定义TableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
placeholder
public final ObjectProperty<Node> placeholderProperty
当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新- 另请参见:
-
getPlaceholder()
,setPlaceholder(Node)
-
selectionModel
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty
SelectionModel提供了可以在TableView中选择单个或多个项目的API,以及检查用户选择了哪些项目。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
focusModel
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty
代表当前安装的TableView.TableViewFocusModel
for TableView。 在几乎所有情况下,将此作为默认焦点模型就足够了。
-
editable
public final BooleanProperty editableProperty
指定此TableView是否可编辑 - 只有TableView,TableColumn(如果适用)和TableCells中的TableCells都可以编辑,TableCell才能进入编辑状态。- 另请参见:
-
isEditable()
,setEditable(boolean)
-
fixedCellSize
public final DoubleProperty fixedCellSizeProperty
指定此控件是否具有固定高度(指定值)的单元格。 如果该值小于或等于零,则所有单元格都被单独设置和定位。 这是一个缓慢的操作。 因此,当性能重要且开发人员不依赖于可变单元大小时,设置固定单元大小值是一个好主意。 一般情况下,单元格大约为24像素,因此设置固定的单元格大小为24可能导致视觉差异很小,但性能有所改善。要通过CSS设置此属性,请使用-fx-fixed-cell-size属性。 这不应该与-fx-cell-size属性混淆。 这两个CSS属性之间的区别是-fx-cell-size将所有单元格的大小设置为指定的大小,但不会强制这是唯一的大小(从而允许变量单元大小,并且阻止性能提升可能)。 因此,当性能很重要的时候使用-fx-fixed-cell-size,而不是-fx-cell-size。 如果在CSS中指定了两个属性,则-fx-fixed-cell-size优先。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getFixedCellSize()
,setFixedCellSize(double)
-
editingCell
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty
表示正在编辑的当前单元格,如果没有编辑单元格,则为空。- 另请参见:
-
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
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getOnScrollTo()
,setOnScrollTo(EventHandler)
-
onScrollToColumn
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty
- 从以下版本开始:
- 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
确保此表中所有可见叶列的宽度的简单策略总和等于表本身的宽度。
当用户使用此策略调整列宽时,表会自动调整右侧列的宽度。 当用户增加列宽时,表会减小最右列的宽度,直到达到最小宽度。 然后它减小第二个最右边的列的宽度,直到达到最小宽度等等。 当所有右侧列达到最小尺寸时,用户不能再增加已调整大小的列的大小。
-
DEFAULT_SORT_POLICY
public static final Callback<TableView,Boolean> DEFAULT_SORT_POLICY
如果没有指定其他策略,则TableView将使用默认值sort policy
。 排序策略是一个简单的Callback
,它接受TableView作为唯一的参数,并期望一个布尔响应来表示排序是否成功。 一个布尔响应为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本身类型匹配的通用类型。- 另请参见:
-
getItems()
,setItems(ObservableList)
-
setItems
public final void setItems(ObservableList<S> value)
设置属性项的值。- Property description:
- TableView的基础数据模型。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
getItems
public final ObservableList<S> getItems()
获取属性项的值。- Property description:
- TableView的基础数据模型。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
tableMenuButtonVisibleProperty
public final BooleanProperty tableMenuButtonVisibleProperty()
当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TableColumns。
-
setTableMenuButtonVisible
public final void setTableMenuButtonVisible(boolean value)
设置属性tableMenuButtonVisible的值。- Property description:
- 当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TableColumns。
-
isTableMenuButtonVisible
public final boolean isTableMenuButtonVisible()
获取属性tableMenuButtonVisible的值。- Property description:
- 当用户单击TableView中的指定空间时,这可以控制菜单按钮是否可用,其中是该表中每个TableColumn的无线菜单项。 此菜单允许用户轻松显示和隐藏所有TableColumns。
-
setColumnResizePolicy
public final void setColumnResizePolicy(Callback<TableView.ResizeFeatures,Boolean> callback)
设置属性columnResizePolicy的值。- Property description:
-
这是当用户完成列大小调整操作时调用的函数。
两个最常见的策略作为TableView类中的静态函数可用:
UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
getColumnResizePolicy
public final Callback<TableView.ResizeFeatures,Boolean> getColumnResizePolicy()
获取属性columnResizePolicy的值。- Property description:
-
这是当用户完成列大小调整操作时调用的函数。
两个最常见的策略作为TableView类中的静态函数可用:
UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
columnResizePolicyProperty
public final ObjectProperty<Callback<TableView.ResizeFeatures,Boolean>> columnResizePolicyProperty()
这是当用户完成列大小调整操作时调用的函数。 两个最常见的策略作为TableView类中的静态函数可用:UNCONSTRAINED_RESIZE_POLICY
和CONSTRAINED_RESIZE_POLICY
。
-
rowFactoryProperty
public final ObjectProperty<Callback<TableView<S>,TableRow<S>>> rowFactoryProperty()
一个产生TableRow的函数。 该系统负责重用TableRows。 从此函数返回可用于在TableView中表示单个行的TableRow。请注意,TableRow 不是 TableCell。 200的X- 20045 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 创建自定义TableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
setRowFactory
public final void setRowFactory(Callback<TableView<S>,TableRow<S>> value)
设置属性rowFactory的值。- Property description:
-
一个产生TableRow的函数。
该系统负责重用TableRows。
从此函数返回可用于在TableView中表示单个行的TableRow。
请注意,TableRow 不是 TableCell。 200的X- 20045 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 创建自定义TableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
getRowFactory
public final Callback<TableView<S>,TableRow<S>> getRowFactory()
获取属性rowFactory的值。- Property description:
-
一个产生TableRow的函数。
该系统负责重用TableRows。
从此函数返回可用于在TableView中表示单个行的TableRow。
请注意,TableRow 不是 TableCell。 200的X- 20045 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 创建自定义TableRow实例的主要用例很可能是引入某种形式的列跨越支持。
您可以通过将适当的函数分配给TableColumn类中的cellFactory属性来创建每个列的自定义TableCell实例。
-
placeholderProperty
public final ObjectProperty<Node> placeholderProperty()
当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新- 另请参见:
-
getPlaceholder()
,setPlaceholder(Node)
-
setPlaceholder
public final void setPlaceholder(Node value)
设置属性占位符的值。- Property description:
- 当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新
-
getPlaceholder
public final Node getPlaceholder()
获取属性占位符的值。- Property description:
- 当表没有显示的内容时,向用户显示该节点。 新新新新旗新新新旗新新旗新新新旗新新旗新新旗新新旗新新旗新新旗新新旗新新旗旗新新旗新新旗新新旗新新旗新新旗新200新新旗新新旗新新旗新新旗新新旗新200新新旗新新200新新旗新新200新新旗新新200新200新新旗新新200新新旗2001-新新新新旗新新200新新200新200新新200新新200新200新新200新新200新新200新新200新新200新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新新200新
-
selectionModelProperty
public final ObjectProperty<TableView.TableViewSelectionModel<S>> selectionModelProperty()
SelectionModel提供了可以在TableView中选择单个或多个项目的API,以及检查用户选择了哪些项目。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
setSelectionModel
public final void setSelectionModel(TableView.TableViewSelectionModel<S> value)
设置属性selectionModel的值。- Property description:
- SelectionModel提供了可以在TableView中选择单个或多个项目的API,以及检查用户选择了哪些项目。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
getSelectionModel
public final TableView.TableViewSelectionModel<S> getSelectionModel()
获取属性selectionModel的值。- Property description:
- SelectionModel提供了可以在TableView中选择单个或多个项目的API,以及检查用户选择了哪些项目。 请注意,它具有必须与TableView本身类型匹配的通用类型。
-
setFocusModel
public final void setFocusModel(TableView.TableViewFocusModel<S> value)
设置属性focusModel的值。- Property description:
-
代表此TableView当前安装的
TableView.TableViewFocusModel
。 在几乎所有情况下,将此作为默认焦点模型就足够了。
-
getFocusModel
public final TableView.TableViewFocusModel<S> getFocusModel()
获取属性focusModel的值。- Property description:
-
代表此TableView当前安装的
TableView.TableViewFocusModel
。 在几乎所有情况下,将此作为默认焦点模型就足够了。
-
focusModelProperty
public final ObjectProperty<TableView.TableViewFocusModel<S>> focusModelProperty()
代表当前安装的TableView.TableViewFocusModel
此TableView。 在几乎所有情况下,将此作为默认焦点模型就足够了。
-
setEditable
public final void setEditable(boolean value)
设置属性可编辑的值。- Property description:
- 指定此TableView是否可编辑 - 只有TableView,TableColumn(如果适用)和TableCells中的TableCells都可以编辑,TableCell才能进入编辑状态。
-
isEditable
public final boolean isEditable()
获取可编辑属性的值。- Property description:
- 指定此TableView是否可编辑 - 只有TableView,TableColumn(如果适用)和TableCells中的TableCells都可以编辑,TableCell才能进入编辑状态。
-
editableProperty
public final BooleanProperty editableProperty()
指定此TableView是否可编辑 - 只有TableView,TableColumn(如果适用)和TableCells中的TableCells都可以编辑,TableCell才能进入编辑状态。- 另请参见:
-
isEditable()
,setEditable(boolean)
-
setFixedCellSize
public final void setFixedCellSize(double value)
设置此控件的新固定单元格大小。 任何大于零的值将启用固定的单元大小模式,而零值或负值(或Region.USE_COMPUTED_SIZE)将用于禁用固定单元大小模式。- 参数
-
value
- 新的固定单元格大小值,或小于或等于零(或Region.USE_COMPUTED_SIZE)的值禁用。 - 从以下版本开始:
- JavaFX 8.0
-
getFixedCellSize
public final double getFixedCellSize()
返回固定的单元格大小值。 使用小于或等于零的值来表示禁用固定单元大小模式,大于零的值表示此控件中所有单元格的大小。- 结果
- 表示该控件的固定单元大小的double,或者如果固定单元大小模式被禁用,小于或等于零的值。
- 从以下版本开始:
- JavaFX 8.0
-
fixedCellSizeProperty
public final DoubleProperty fixedCellSizeProperty()
指定此控件是否具有固定高度(指定值)的单元格。 如果该值小于或等于零,则所有单元格都被单独设置和定位。 这是一个缓慢的操作。 因此,当性能重要且开发人员不依赖于可变单元大小时,设置固定单元大小值是一个好主意。 一般情况下,单元格大约为24像素,因此设置固定的单元格大小为24可能导致视觉差异很小,但性能有所改善。要通过CSS设置此属性,请使用-fx-fixed-cell-size属性。 这不应该与-fx-cell-size属性混淆。 这两个CSS属性之间的区别是-fx-cell-size将所有单元格的大小设置为指定的大小,但不会强制这是唯一的大小(从而允许变量单元大小,并且阻止性能提升可能)。 因此,当性能很重要的时候使用-fx-fixed-cell-size,而不是-fx-cell-size。 如果在CSS中指定了两个属性,则-fx-fixed-cell-size优先。
- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getFixedCellSize()
,setFixedCellSize(double)
-
getEditingCell
public final TablePosition<S,?> getEditingCell()
获取属性editingCell的值。- Property description:
- 表示正在编辑的当前单元格,如果没有编辑单元格,则为空。
-
editingCellProperty
public final ReadOnlyObjectProperty<TablePosition<S,?>> editingCellProperty()
表示正在编辑的当前单元格,如果没有编辑单元格,则为空。- 另请参见:
-
getEditingCell()
-
getComparator
public final Comparator<S> getComparator()
获取属性比较器的值。- Property description:
-
比较器属性是一个只读属性,代表
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的值。- Property description:
-
排序策略指定如何执行此TableView中的排序。
例如,基本的排序策略可以调用
FXCollections.sort(tableView.getItems())
,而更高级的排序策略可以调用数据库来在服务器端执行必要的排序。TableView附带了一个
default sort policy
,正如上面提到的那样:它只是尝试在原位排序项目列表。建议不要覆盖
sort
方法,而是提供不同的排序策略。 - 从以下版本开始:
- JavaFX 8.0
-
getSortPolicy
public final Callback<TableView<S>,Boolean> getSortPolicy()
获取属性sortPolicy的值。- Property description:
-
排序策略指定如何执行此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的值。- Property description:
- 当有请求排序控件时调用。
- 从以下版本开始:
- JavaFX 8.0
-
getOnSort
public EventHandler<SortEvent<TableView<S>>> getOnSort()
获取属性onSort的值。- Property description:
- 当有请求排序控件时调用。
- 从以下版本开始:
- JavaFX 8.0
-
onSortProperty
public ObjectProperty<EventHandler<SortEvent<TableView<S>>>> onSortProperty()
当有请求排序控件时调用。- 从以下版本开始:
- JavaFX 8.0
- 另请参见:
-
getOnSort()
,setOnSort(EventHandler)
-
getColumns
public final ObservableList<TableColumn<S,?>> getColumns()
TableColumns是TableView的一部分。 当用户重新排列TableView列时,此列表将被更新以反映当前的视觉排序。注意:要在TableView中显示任何数据,该ObservableList中必须至少有一个TableColumn。
- 结果
- 列
-
getSortOrder
public final ObservableList<TableColumn<S,?>> getSortOrder()
sortOrder列表定义了TableColumn
实例进行排序的顺序。 一个空的排序列表表示在TableView上没有应用排序。 如果sortOrder列表中有一个TableColumn,则TableView将使用此TableColumn的sortType
和comparator
属性进行排序(假设为TableColumn.sortable
为true)。 如果sortOrder列表包含多个TableColumn实例,则首先根据第一个TableColumn的属性对TableView进行排序。 如果两个元素被认为相等,则列表中的第二个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的值。- Property description:
-
当有请求使用
scrollTo(int)
或scrollTo(Object)
将索引滚动到视图时 调用 - 从以下版本开始:
- JavaFX 8.0
-
getOnScrollTo
public EventHandler<ScrollToEvent<Integer>> getOnScrollTo()
获取属性onScrollTo的值。- Property description:
-
当有请求使用
scrollTo(int)
或scrollTo(Object)
将索引滚动到视图时 调用 - 从以下版本开始:
- JavaFX 8.0
-
onScrollToProperty
public ObjectProperty<EventHandler<ScrollToEvent<Integer>>> onScrollToProperty()
- 从以下版本开始:
- 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的值。- Property description:
-
当有要求使用
scrollToColumn(TableColumn)
或scrollToColumnIndex(int)
将列滚动到视图时 调用 - 从以下版本开始:
- JavaFX 8.0
-
getOnScrollToColumn
public EventHandler<ScrollToEvent<TableColumn<S,?>>> getOnScrollToColumn()
获取属性onScrollToColumn的值。- Property description:
-
当有要求使用
scrollToColumn(TableColumn)
或scrollToColumnIndex(int)
将列滚动到视图时 调用 - 从以下版本开始:
- JavaFX 8.0
-
onScrollToColumnProperty
public ObjectProperty<EventHandler<ScrollToEvent<TableColumn<S,?>>>> onScrollToColumnProperty()
- 从以下版本开始:
- 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和列也是可编辑的。注意:如果给定的行值小于零并且给定的列为空,此方法将取消编辑。
- 参数
-
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()
排序方法强制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
-
-