【发布时间】:2017-03-29 01:18:48
【问题描述】:
我是论坛的新手,所以我希望我不是在问一个过去已经回答过的问题。在发布之前,我试图彻底寻找答案。
我目前正在制作一个最终将用于跟踪财务费用的饼图。现在我有几个类别组成每个切片。我试图隐藏零值切片的图例。
我在 javaFX 中这样做。在编程方面,我仍然很年轻,并且没有 Java 以外的经验。向傻瓜解释的任何帮助将不胜感激。谢谢。
添加了一张图片和完整的代码来说明手头的问题。餐厅和餐饮以及购物和娱乐都具有零值。我想在此示例中隐藏这些项目的图例。
package Example;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.chart.PieChart;
public class PieExampleController implements Initializable {
@FXML
private PieChart pieChart;
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
// TODO Auto-generated method stub
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Groceries", 1),
new PieChart.Data("Transportation", 1),
new PieChart.Data("Restaurants & Dining", 0),
new PieChart.Data("Shopping & Entertainment", 0));
pieChart.setData(pieChartData);
}
}
【问题讨论】:
-
建议 1 - 始终尝试以完整的形式提交代码。如果可能,请尝试发布MCVE。
-
感谢您的建议。我用一个更简单的示例更新了代码,并提供了图例的屏幕截图,以及我要删除的内容。
-
您可以在将它们添加到 ObservableList 之前检查该值是否为零
-
pieChartData.removeIf(data -> data.getPieValue() == 0);