java - 隐藏零值图表项的图例 javaFX

标签 java javafx

我是论坛的新手,所以我希望我问的不是过去已经回答过的问题。在发布之前,我试图彻底寻找答案。

我目前正在制作一个最终将用于跟踪财务费用的饼图。现在我有几个类别组成每个切片。我试图隐藏零值切片的图例。

我在 javaFX 中这样做。在编程方面我还是很新手,没有 Java 以外的经验。向假人解释的任何帮助将不胜感激。谢谢。

添加了一张图片和完整的代码来说明手头的问题。 Restaurants & Dining 和 Shopping & entertainment 的值均为零。我想在此示例中隐藏这些项目的图例。

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);

}
}

enter image description here

最佳答案

我就是这样做的:

    List<PieChart.Data> dataArrayList = new LinkedList<Data>();
    if (value1>0) {
            Data data = new PieChart.Data("my label", value1);
            dataArrayList.add(data);
    }
     ...

    ObservableList<PieChart.Data> pieChartData = 
    FXCollections.observableArrayList(dataArrayList);

关于java - 隐藏零值图表项的图例 javaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43082626/

相关文章:

java.util.zip.ZipException : duplicate entry :how to overcome

java - 如何实现只有 AtomicInteger 的 Lock?

java - 编辑 ObservableList 中的多个元素,仅在最后一次更改后触发更改监听器

java - 作为 sudo : Unable to open DISPLAY 运行 javafx jar

javafx - 使用vlcj-javafx-demo开发一个播放器,但看起来有些组件UI在设置全屏时无法正确更新

java - Weblogic 还是 JBoss?

java - org.apache.http.entity.FileEntity在Android 6中已弃用(棉花糖)

java - 是否有一个 Java WindowListener 在显示窗口之前被调用?

javafx-2 - 如何在 JavaFX 中全屏时更改场景并避免 "Press ESC to exit fullscreen"消息

JavaFX:如何知道应用程序正在哪个系统上运行?