public HorizonChart(final int BANDS, final Series<T> SERIES, final boolean SMOOTHED) {
series = SERIES;
scaleX = 1;
scaleY = 1;
smoothed = SMOOTHED;
referenceZero = true;
noOfBands = clamp(1, MAX_NO_OF_BANDS, BANDS);
noOfItems = SERIES.getNoOfItems();
minY = SERIES.getItems().stream().mapToDouble(Data::getY).min().getAsDouble();
maxY = SERIES.getItems().stream().mapToDouble(Data::getY).max().getAsDouble();
bandWidth = (maxY - minY) / noOfBands;
tooltip = new Tooltip();
tooltip.setAnchorLocation(AnchorLocation.CONTENT_BOTTOM_LEFT);
adjustColors();
// Create list of points
points = new ArrayList<>(noOfItems);
prepareData();
mouseListener = mouseEvent -> {
final EventType<? extends MouseEvent> TYPE = mouseEvent.getEventType();
if (MouseEvent.MOUSE_CLICKED == TYPE) {
Data<T> data = selectDataAt(mouseEvent.getX());
tooltip.setText(createTooltipText(data));
tooltip.setX(mouseEvent.getScreenX());
tooltip.setY(mouseEvent.getScreenY());
tooltip.show(getScene().getWindow());
getSeries().fireSeriesEvent(new SeriesEvent(getSeries(), data, SeriesEventType.SELECT_DATA));
} else if (MouseEvent.MOUSE_MOVED == TYPE) {
tooltip.hide();
} else if (MouseEvent.MOUSE_EXITED == TYPE) {
tooltip.hide();
}
};
seriesListener = seriesEvent -> redraw();
initGraphics();
registerListeners();
}
HorizonChart.java 文件源码
java
阅读 30
收藏 0
点赞 0
评论 0
项目:horizon
作者:
评论列表
文章目录