广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何处理JavaFX饼图的事件?_北大青鸟IT学校

作者:邓华发布时间:2021-05-20分类:Java技术浏览:1117


导读:如何处理JavaFX饼图的事件?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么解答的。

如何处理JavaFX饼图的事件?这是大家在学习Java的过程都会遇到的问题,那么下面我们一起来看看惠州北大青鸟学术部老师是怎么解答的。

以下代码创建一个EventHandler对象来处理落入特定图表切片的MOUSE_PRESSED事件。


/*

 * Copyright (c) 2011, 2012 Oracle and/or its affiliates.

 * All rights reserved. Use is subject to license terms.

 *

 * This file is available and licensed under the following license:

 *

 * Redistribution and use in source and binary forms, with or without

 * modification, are permitted provided that the following conditions

 * are met:

 *

 *  - Redistributions of source code must retain the above copyright

 *    notice, this list of conditions and the following disclaimer.

 *  - Redistributions in binary form must reproduce the above copyright

 *    notice, this list of conditions and the following disclaimer in

 *    the documentation and/or other materials provided with the distribution.

 *  - Neither the name of Oracle nor the names of its

 *    contributors may be used to endorse or promote products derived

 *    from this software without specific prior written permission.

 *

 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT

 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR

 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT

 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT

 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,

 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY

 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE

 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 */


//package piechartsample;


import javafx.application.Application;

import javafx.collections.FXCollections;

import javafx.collections.ObservableList;

import javafx.event.EventHandler;

import javafx.scene.Scene;

import javafx.scene.paint.Color;

import javafx.stage.Stage;

import javafx.scene.chart.*;

import javafx.scene.Group;

import javafx.scene.control.Label;

import javafx.scene.input.MouseEvent;


public class Main extends Application {


    @Override

    public void start(Stage stage) {

        Scene scene = new Scene(new Group());

        stage.setTitle("Imported Fruits");

        stage.setWidth(500);

        stage.setHeight(500);


        ObservableList<PieChart.Data> pieChartData =

                FXCollections.observableArrayList(

                new PieChart.Data("Grapefruit", 13),

                new PieChart.Data("Oranges", 25),

                new PieChart.Data("Plums", 10),

                new PieChart.Data("Pears", 22),

                new PieChart.Data("Apples", 30));


        final PieChart chart = new PieChart(pieChartData);

        chart.setTitle("Imported Fruits");

        final Label caption = new Label("");

        caption.setTextFill(Color.DARKORANGE);

        caption.setStyle("-fx-font: 24 arial;");


        for (final PieChart.Data data : chart.getData()) {

            data.getNode().addEventHandler(MouseEvent.MOUSE_PRESSED,

                    new EventHandler<MouseEvent>() {

                        @Override public void handle(MouseEvent e) {

                            caption.setTranslateX(e.getSceneX());

                            caption.setTranslateY(e.getSceneY());

                            caption.setText(String.valueOf(data.getPieValue()) 

                                + "%");

                        }

                    });

        }

                

        ((Group) scene.getRoot()).getChildren().addAll(chart, caption);

        stage.setScene(scene);

        //scene.getStylesheets().add("piechartsample/Chart.css");

        stage.show();

    }


    public static void main(String[] args) {

        launch(args);

    }

}

上面的代码生成以下结果。

JavaFX饼图3.png

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学 校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表