Generar un gráfico Pie con JavaFX

Crearás una aplicación simple en JavaFX para ver en un gráfico estadístico en forma de Pie los resultados de unas elecciones de partidos políticos.

Resultado

Aprenderás

  • Crear una aplicación JavaFX
  • Uso de la clase PieChart y algunos de sus métodos

Nuevo proyecto

Crea un nuevo proyecto normal en Java en tu IDE que se llame "Elecciones".

Haciendo que sea una aplicación JavaFX

Los siguientes pasos hacen uso de las sugerencias y autocompletado de IntelliJ IDEA.

Primero haz que herede de la clase Application de esta forma:

public class Main extends Application {

Luego aparecerá un error de importación, presiona el atajo de teclado Alt+Enter e importa la clase.

Generar 1

Luego en el siguiente error haz que tu cursos este en en Applicaction y presiona de nuevo Alt+Enter y eso generará el método start.

Generar 2

Confirma la acción presionando en OK:

Generar 3

Al final tu clase debería quedar así:

Generar 4

Datos

Ahora crearás los datos que queremos graficar. La clase que usaremos para hacer una gráfico de Pie o de torta es PieChart. Esta clase acepta por defecto un tipo de lista especial y se crea de la siguiente manera:

ObservableList<PieChart.Data> datos = FXCollections.observableArrayList(
                new PieChart.Data("Partido 1", 230),
                new PieChart.Data("Partido 2", 70),
                new PieChart.Data("Partido 3", 120)
        );

Hay que importar para que no aparezcan los errores con Alt+Enter para las tres clases nuevas, PieChart, FXCollections y ObservableList.

Como podemos observar lo que estamos haciendo es crear tres partidos políticos y el número al lado es el número de votos que consiguió, puedes adicionar más partidos o cambiar los números.

PieChart

Ahora crearemos el gráfico, para eso es tan simple como crearse una instancia de PieChart y usar los métodos que tiene de la siguiente manera:

PieChart grafico = new PieChart(datos);
grafico.setTitle("Elecciones nacionales");
grafico.setLegendSide(Side.LEFT);

Con la primera linea estas creando un PieChart con los datos que creamos antes. Luego le damos un título al gráfico y la última linea como su nombre lo dice esta colocando la leyenda del gráfico a la izquierda.

De la misma forma si aparece error debe ser por que tienes que importar la clase Side con Alt+Enter.

Mostrando el gráfico

Ya tenemos el gráfico creado y con datos, solo falta mostrarlo en una pantalla de una aplicación JavaFX.

En este caso la aplicación solo tendrá el gráfico entonces podríamos realizar lo siguiente:

Scene scene = new Scene(grafico, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();

Creamos una Scene que tenga como contenido el gráfico que creaste y que la ventana sea de 400 de ancho y 400 de alto.

Al final tu aplicación completa debería quedar así:

Clase

Ejecutando

¡Eso es todo! Si ejecutas la aplicación podrás ver el resultado siguiente:

Resultado

JavaFX es muy poderosa a la hora de generar gráficos estadísticos nativos para escritorio. Ahora puedes probar más de los muchos gráficos estadísticos que tiene JavaFX.

PublishedMay 28, 2017
Last updateMar 16, 2020