Javafx表停止响应绑定更新

时间:2013-10-12 20:12:05

标签: java javafx

我对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()方法。

0 个答案:

没有答案