0

我对 JavaFx 中的列有以下回调TableView

public class CuePreWaitCallback implements Callback<TableColumn.CellDataFeatures<cObj,String>, ObservableValue<String>> {

    @Override
    public ObservableValue<String> call(final CellDataFeatures<cObj, String> param) {
        final Timeline preWait = param.getValue().getCTimeline().getPreWait();
        return new StringBinding() {
            {
                super.bind(param.getValue().getCTimeline().getPreWait().playhead());
                super.bind(param.getValue().getCTimeline().getPreWait().waitTime());
            }

            @Override
            protected String computeValue() {
                System.out.println("Value Called---------------------------------------------->");
                return preWait.getAbsoluteDuration().subtract(preWait.getPlayhead()).toString();
            }
        };
    }

}

注意中间的巨大印刷声明。突然之间,当值改变时,GUI 停止更新。请注意,这些值变化非常迅速(如果重要的话)。大约每 3-5 毫秒(它显示一个时间)。

关于Timeline类: 该getAbsoluteDuration()方法返回一个TimeElapsed对象,它减去该preWait.getPlayhead() TimeElapsed对象创建一个新TimeElapsed的对象,它们的区别。然后调用该TimeElapsed toString()方法。

4

0 回答 0