如何使 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); } }