4
在現有PieChart上設置新數據時,我注意到顏色不一樣。 (它們圍繞css顏色列表循環,就好像某些內部計數器未被重置)javafx 2.2餅圖顏色不重置
如何在顏色0時再次啓動顏色,而不必每次都重新創建圖表?
例如:
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.chart.PieChart;
import javafx.stage.Stage;
public class ChartAdvancedPie extends Application {
PieChart pc = new PieChart();
private void init(Stage primaryStage) {
Group root = new Group();
primaryStage.setScene(new Scene(root));
root.getChildren().add(pc);
pc.setAnimated(false);
SetupData();
SetupData(); //comment this out to see first colours only
}
protected void SetupData() {
ObservableList<PieChart.Data> data = FXCollections.observableArrayList();
data.add(new PieChart.Data("Slice", 1));
data.add(new PieChart.Data("Slice", 2));
data.add(new PieChart.Data("Slice", 3));
pc.getData().clear();
pc.setData(data);
}
@Override public void start(Stage primaryStage) throws Exception {
init(primaryStage);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
一個黑客保留的顏色順序是增加8 - 大小MOD結算前8個項目,但我敢肯定有一個更簡單的方法(或我添加數據錯)
int rem = 8-(pieChartData.size() % 8);
for (int i=0; i< rem; i++) {
controller.FeatureChart.getData().add(new PieChart.Data("dummy", 1));
}
controller.FeatureChart.getData().clear();
//... add items again
尼斯破解!我有這個問題。我認爲JavaFX還不夠成熟,無法處理所有這些小錯誤。 – beardedlinuxgeek