将图表绑定到TableView JavaFX

miniHessel

我有一个带数据的TableView,并希望使用PieChart可视化该表中的数据。我不明白我应该如何将TableView的arraylist绑定到Piechart,因为TableView需要getter和setter,而Piechart需要PieChart.Data可观察列表。

这是我当前的代码,这些元素是使用Scene Builder设计的

@FXML
private TableView<Record> tableView;



static ObservableList<Record> dataen
        = FXCollections.observableArrayList(
                new Record("January", 100),
                new Record("February", 200));




public void initialize(URL url, ResourceBundle rb) {

    Month.setCellValueFactory(new PropertyValueFactory("fieldMonth"));
    Value.setCellValueFactory(new PropertyValueFactory("fieldValue"));
    tableView.setItems(dataen);

}

}
布莱恩

在TableView项目列表(数据源)上建立侦听器,或仅对两者使用相同的列表。在这里,他们使用相同的列表。您可以将列表更改为<PieChart.Data>而不是类型<Record>,否则可以使用侦听器。

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.converter.NumberStringConverter;

public class ChangePie extends Application {

    @Override
    public void start(Stage primaryStage) {
        ObservableList<PieChart.Data> pieChartData =
                FXCollections.observableArrayList(
                new PieChart.Data("Grapefruit", 13),
                new PieChart.Data("Oranges", 25),
                new PieChart.Data("Plums", 10),
                new PieChart.Data("Pears", 22),
                new PieChart.Data("Apples", 30));
        final PieChart chart = new PieChart(pieChartData);
        chart.setTitle("Imported Fruits");

        TableView tv = new TableView(pieChartData);
        tv.setEditable(true);

        TableColumn tc1 = new TableColumn("Name");
        tc1.setPrefWidth(100);
        tc1.setCellValueFactory(new PropertyValueFactory("name"));
        tc1.setCellFactory(TextFieldTableCell.forTableColumn());

        TableColumn tc2 = new TableColumn("Data");
        tc2.setPrefWidth(100);
        tc2.setCellValueFactory(new PropertyValueFactory("pieValue"));
        tc2.setCellFactory(TextFieldTableCell.forTableColumn(new NumberStringConverter()));

        tv.getColumns().addAll(tc1,tc2);
        Scene scene = new Scene(new VBox(chart,tv));
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将图表绑定到TableView JavaFX

来自分类Dev

JavaFX:将多个图表绑定到单个数据属性

来自分类Dev

将两个Spinner控件绑定到JavaFX中的TableView中

来自分类Dev

JavaFX 8-如何将TextField文本属性绑定到TableView整数属性

来自分类Dev

将Excel导入到TableView(javafx)

来自分类Dev

JavaFX将超链接绑定到标签

来自分类Dev

JavaFX:将ObservableList绑定到哪个视图?

来自分类Dev

将int绑定到javaFX中的Label

来自分类Dev

JavaFX-将LinkedHashMap绑定到ComboBox

来自分类Dev

JavaFX:绑定到插入

来自分类Dev

Javafx无法将多数据插入到tableview中

来自分类Dev

Javafx 如何将数据插入到 tableview

来自分类Dev

JavaFX绑定到多个属性

来自分类Dev

JavaFX:绑定到嵌套位置

来自分类Dev

JavaFX:将textProperty从Label绑定到ObservableList的大小

来自分类Dev

如何将域对象绑定到JavaFX TreeView?

来自分类Dev

如何将mybatis的resultmap绑定到javafx组合框?

来自分类Dev

JavaFX:将按钮的禁用属性绑定到ObservableList大小

来自分类Dev

将CSS样式属性绑定到JavaFX中的节点

来自分类Dev

如何将javafx标签(从fxml)正确绑定到SimpleStringProperty

来自分类Dev

如何在JavaFX中双向将LocalDate绑定到TextField

来自分类Dev

将JavaFX中的ColorPicker绑定到Label Background属性

来自分类Dev

将TextField的文本绑定到某个对象(JavaFX)

来自分类Dev

JavaFX:将TextProperty(例如Label)绑定到简单的Integer

来自分类Dev

JavaFX将字符串正确绑定到TreeCell Factory

来自分类Dev

JavaFX:无法将属性绑定到窗格

来自分类Dev

JavaFX将选择框绑定到集合中的属性

来自分类Dev

如何将ComboBox绑定到JavaFX中的列表?

来自分类Dev

如何将方法绑定到JavaFX中的combobox?

Related 相关文章

热门标签

归档