下面列出了怎么用javafx.scene.chart.PieChart.Data的API类实例代码及写法,或者点击链接到github查看源代码。
private void buildChartResults(final ProgressModel model) {
Data known = slice(PROGRESS_SLICE_KNOWN, model.knownProperty());
Data unknown = slice(PROGRESS_SLICE_UNKNOWN, model.unknownProperty());
Data unmarked = slice(PROGRESS_SLICE_UNMARKED, model.unseenUnfilteredProperty());
Data filtered = slice(PROGRESS_SLICE_FILTERED, model.unseenFilteredProperty());
chartResults.setData(FXCollections.observableArrayList(
known, unknown, unmarked, filtered
));
bindValueLabel(labelValueKnown, model.knownProperty());
bindPercentLabel(labelPercentKnown, model.knownPercentProperty());
bindValueLabel(labelValueUnknown, model.unknownProperty());
bindPercentLabel(labelPercentUnknown, model.unknownPercentProperty());
bindValueLabel(labelValueUnseenUnfiltered, model.unseenUnfilteredProperty());
bindPercentLabel(labelPercentUnseenUnfiltered, model.unseenUnfilteredPercentProperty());
bindValueLabel(labelValueFiltered, model.unseenFilteredProperty());
bindPercentLabel(labelPercentFiltered, model.unseenFilteredPercentProperty());
}
private void buildChartProgress(final ProgressModel model) {
Data done = slice(PROGRESS_SLICE_MARKED, model.markedProperty());
Data remaining = slice(PROGRESS_SLICE_UNMARKED, model.unseenUnfilteredProperty());
chartProgress.setData(FXCollections.observableArrayList(
done, remaining
));
bindValueLabel(labelValueDone, model.markedProperty());
bindPercentLabel(labelPercentDone, model.markedPercentVisibleProperty());
bindValueLabel(labelValueRemaining, model.unseenUnfilteredProperty());
bindPercentLabel(labelPercentRemaining, model.unseenUnfilteredPercentVisibleProperty());
}
private void showErlangMemory() {
ObservableList<PieChart.Data> data = FXCollections.observableArrayList();
showPieChart(data);
ErlangMemoryThread emThread;
emThread = new ErlangMemoryThread(data);
emThread.start();
}
private void populatePieData(final Map<Object, Object> erlangMemory) {
for (Entry<Object, Object> entry : erlangMemory.entrySet()) {
long kb = (long) (Double.parseDouble(entry.getValue().toString()) / 1024);
String label = entry.getKey().toString() + " (" + kb + " KB)";
pieData.add(new Data(label, kb));
}
}
public ErlangMemoryThread(ObservableList<PieChart.Data> thePieData) {
pieData = thePieData;
setName("Erlang Memory Thread");
setDaemon(true);
}
@FXML
private void onHeapPie() {
ObservableList<PieChart.Data> data = buildData(chartableProcs(), (p) -> {return p.getHeapSize(); });
showPieChart("Process Heap", data);
}
@FXML
private void onStackPie() {
ObservableList<PieChart.Data> data = buildData(chartableProcs(), (p) -> {return p.getStackSize(); });
showPieChart("Process Stack", data);
}
@FXML
private void onTotalHeapPie() {
ObservableList<PieChart.Data> data = buildData(chartableProcs(), (p) -> {return p.getTotalHeapSize(); });
showPieChart("Total Heap", data);
}