@Override protected void registerListeners() {
super.registerListeners();
tile.getBarChartItems().addListener(new WeakListChangeListener<>(change -> {
while (change.next()) {
if (change.wasAdded()) {
change.getAddedSubList().forEach(addedItem -> {
barChartPane.getChildren().add(addedItem);
addedItem.addChartDataEventListener(updateHandler);
EventHandler<MouseEvent> clickHandler = e -> tile.fireTileEvent(new TileEvent(EventType.SELECTED_CHART_DATA, addedItem.getChartData()));
handlerMap.put(addedItem, clickHandler);
addedItem.setOnMousePressed(clickHandler);
});
updateChart();
} else if (change.wasRemoved()) {
change.getRemoved().forEach(removedItem -> {
removedItem.removeChartDataEventListener(updateHandler);
removedItem.removeEventHandler(MouseEvent.MOUSE_PRESSED, handlerMap.get(removedItem));
barChartPane.getChildren().remove(removedItem);
});
updateChart();
}
}
}));
pane.widthProperty().addListener(paneSizeListener);
pane.heightProperty().addListener(paneSizeListener);
}
BarChartTileSkin.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:tilesfx
作者:
评论列表
文章目录