如何使 JavaFX 饼图中的标签不可见?

javafxobject oriented programmingprogramming更新于 2025/4/14 0:07:17

在饼图中,我们将数据值表示为圆形的切片。每个切片彼此之间有所区别(通常通过颜色区分)。在 JavaFX 中,您可以通过实例化 javafx.scene.chart.PieChart 类来创建饼图。

使标签不可见

每个切片都与一个标签关联。(切片名称作为值)默认情况下,这些标签可见。此类具有一个名为"labels visible"的属性,用于指定是否在饼图中显示标签。您可以使用 setLabelsVisible() 方法设置此属性的值。

要使当前饼图的标签不可见,您需要通过传递布尔值 false 作为参数来调用此方法。

示例

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.PieChart;
import javafx.scene.layout.StackPane;
public class PieChartExample extends Application {
   public void start(Stage stage) {
      //创建饼图
      PieChart pieChart = new PieChart();
      //设置数据
      ObservableList<PieChart.Data> data = FXCollections.observableArrayList(
         new PieChart.Data("Work", 10),
         new PieChart.Data("Chores", 2),
         new PieChart.Data("Sleep", 8),
         new PieChart.Data("Others", 4)
      );
      pieChart.setData(data);
      //设置其他属性
      pieChart.setTitle("Activities");
      pieChart.setClockwise(true);
      pieChart.setLabelLineLength(10);
      pieChart.setLabelsVisible(true);
      pieChart.setStartAngle(360);
      //创建一个堆栈窗格来保存饼图
      StackPane pane = new StackPane(pieChart);
      //设置场景
      Scene scene = new Scene(pane, 600, 350);
      stage.setTitle("Pie chart");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章