javafx 折线表格拖拽事件
程序员文章站
2024-02-05 11:43:58
...
实现效果
左移拖拽减小,右移拖拽增大
拖拽前
拖拽后
代码展示
lc.setOnMouseDragged(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
//只在折线图范围内点击有效
if(event.getX()>10 && event.getX()<lc.widthProperty().get()-25 && event.getY()>5 && event.getY()<lc.heightProperty().get()-20){
NumberAxis xAxis = (NumberAxis)lc.getXAxis();
double scale = xAxis.getUpperBound() - xAxis.getLowerBound();
double lowerBound1 = xAxis.getLowerBound();
if(lowerBound1+(event.getX()-getPosition())/scale<=0){
return;
}
xAxis.setLowerBound(lowerBound1+Math.round((event.getX()-getPosition())/scale));
xAxis.setUpperBound(scale+lowerBound1+Math.round((event.getX()-getPosition())/scale));
MyGetLineChartUtils.xAxisLabelFormat(xAxis,2,6);
}
}
});
Tips:
在设置坐标轴范围时一定要Math.round取整呀,不然会抖动很严重
上一篇: Oracle TDE 透明数据加密技术
下一篇: MySQL 按条件导出某部分数据
推荐阅读