处理页面工厂

时间:2015-05-19 10:53:28

标签: java javafx pagination javafx-8

我有一个带有锚窗格面板的表视图,其中包含2个子窗口,一个表视图和一个分页。分页没有直接链接到表视图(就像你放了一个带有更新标签的按钮)。

我发现的唯一例子是分页本身通过它的setPageFactory方法处理UI更新。

我知道我不应该这样设计它,遗憾的是我现在没有时间改变它。所以这是我目前的解决方案:

paginationTab1.setPageFactory(e -> {
    updateTableViewWithOffset(e);
    //hack, as the pagination is not directly linked with the tableView
    //just return an empty component that is not managed by the parent component
    Label l = new Label();
    l.setManaged(false);
    return l;
});

这是一种可接受的解决方法(return null在...后不能很好地更新用户界面吗?)?或者是否有一种方法可以获得与setPageFactory方法提供的相同的侦听器行为(即,当在分页的箭头或分页的数字上单击时获取页面偏移量?)

1 个答案:

答案 0 :(得分:5)

您可以观察Pagination的{​​{1}}:

currentPageIndexProperty()

这是一个SSCCE:

paginationTab1.currentPageIndexProperty().addListener((obs, oldIndex, newIndex) -> 
    updateTableViewWithOffset(newIndex.intValue()));