javafx 折线表格拖拽事件

2 篇文章 0 订阅
1 篇文章 0 订阅

实现效果

左移拖拽减小,右移拖拽增大

拖拽前
拖拽前
拖拽后
拖拽后
代码展示

 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取整呀,不然会抖动很严重
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于JavaFX中的TableView表格,我可以为您提供一些基本的信息和用法。 TableView是JavaFX中的表格控件,它可以用于显示和编辑表格数据。您可以在表格中显示多列数据,并允许用户对其中的数据进行排序、过滤和编辑等操作。 以下是一些常见的TableView用法: 1. 创建TableView: 您可以通过以下代码创建一个空的TableView: ```java TableView<YourDataModel> tableView = new TableView<>(); ``` 2. 定义表格列: 使用TableColumn类来定义表格的列,您可以指定列的标题、宽度、数据类型以及显示数据的方式等。例如: ```java TableColumn<YourDataModel, String> column1 = new TableColumn<>("Column 1"); column1.setCellValueFactory(new PropertyValueFactory<>("property1")); // 添加更多列... ``` 3. 填充表格数据: 您需要将数据模型绑定到表格中,使其能够显示数据。例如,如果您有一个包含数据的ObservableList,您可以这样将其设置给表格: ```java ObservableList<YourDataModel> data = FXCollections.observableArrayList(); tableView.setItems(data); ``` 4. 处理表格事件: 您可以根据需要添加事件处理程序来处理表格上的各种事件,例如单元格点击、双击、列排序等。 ```java tableView.setOnMouseClicked(event -> { if (event.getButton() == MouseButton.PRIMARY && event.getClickCount() == 2) { // 处理双击事件 } }); ``` 5. 编辑表格数据: 您可以启用表格的编辑功能,使用户能够直接在表格中编辑数据。例如,如果您的数据模型具有可编辑的属性,您可以这样启用编辑功能: ```java tableView.setEditable(true); column1.setCellFactory(TextFieldTableCell.forTableColumn()); column1.setOnEditCommit(event -> { YourDataModel rowData = event.getRowValue(); rowData.setProperty1(event.getNewValue()); }); ``` 这只是一些基本的用法示例,您可以根据自己的需求进一步扩展和定制TableView的功能。希望对您有所帮助!如果您有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值