概览

Eventline 是用于显示时间光标的控件:包括鼠标位置对应的时间以及选中的时间区间。该控件是 Timeline 的一部分,并显示在底部。

Eventline

日期和时间格式化

每个应用程序对日期和时间的显示格式都有自己的要求。因此,Eventline 提供了一个日期和时间格式化器,可以通过调用 setDateTimeFormatter() 进行替换。可以通过调用 DateTimeFormatter 类上的静态方法来查找格式化器实例,例如 DateTimeFormatter.ISO_LOCAL_DATE_TIME

光标:位置和时间

当鼠标悬停在 Timeline 或图形控件上时,Eventline 会跟踪鼠标光标位置。该位置存储在只读的 cursorLocationProperty() 中。每当位置发生变化时,Eventline 也会更新 cursorTimeProperty() 的值。这两个属性使 Eventline 成为整个应用程序中提供光标信息的理想组件。

标记的时间区间

每当用户编辑活动时,Eventline 都会显示该活动占用的新时间区间。此区间存储在 markedTimeIntervalProperty() 中。当其值发生变化时,Eventline 会显示两个额外的时间光标,分别表示时间区间的开始和结束。

冻结行

Eventline 包含一个 GraphicsBase 实例,这意味着 Eventline 也可以显示活动,但只能显示在单行中。由于 Eventline 不会垂直滚动,应用程序可以借此提供一个“冻结行”。如果需要可视化与下方所有行相关的“全局”活动(例如里程碑),此功能非常有用。使用此功能时需要关注以下 API:

public final SingleRowGraphics<Row<?, ? ,?> getGraphics();
public final Row<? ,? ,?> row = getFrozenRow();