如何使 JavaFX 饼图中的标签不可见?
javafxobject oriented programmingprogramming更新于 2026/1/9 11:56: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);
}
}
输出


