Graficos con JFreeChart - Java

Haz Click en la Imagen Para conseguir almacenamiento gratuito
 



     style="display:inline-block;width:728px;height:90px"
     data-ad-client="ca-pub-5126364088863607"
     data-ad-slot="9520827110">



Hola en este nuevo tutorial le enseñare como crear graficas de barra y/o graficos de torta (circular) en swing con Netbeans, mediante la librería jFreeChart, bueno para empezar primero debemos de tener las herramientas necesarias para el correcto uso, por ello les dejare los links correspondientes para su descarga.
Primero se debe de incorporar la libreria JFreeChart a Netbeans por lo cual debemos abrir Netbeans y dirigirnos a la opción Tools o herramientas y clickear la opción Ant librerías o libreries. Enseguida en la ventana que se abrió hacemos click en new library o nueva librería  le dan un nombre característico en mi caso le pondré "graficos", enseguida clickea en add Jar/folder y buscamos la dirección donde se descargo la libreria(recuerden que deben de dejarla en un lugar seguro y descomprimir el .rar), una ves dentro de JFreeChart-1.0.14 buscan la carpeta lib y agregan todos los .jar que hallan dentro y le dan a add jar/Folder, terminando este proceso le dan "ok" y ya tendrán agregada la librería jFreeChart agregada con éxito a nuestro Netbeans para ser ocupada cuantas veces les sea necesario



Luego Creamos una nueva aplicación Java


Le damos un nombre se creara el proyecto


Enseguida Vamos a Crear un JFrame en nuestro Proyecto y en este JFrame Arrastraremos 2 JPanel, 2 JButton, como lo muestran las siguientes imagen:



Una vez hecho todo esto agregaremos la librería que creamos anteriormente a nuestro proyecto la librería se llamaba "graficos", la agregamos de la siguiente manera, dentro del proyecto ahí una carpeta que se llama libreries le damos botón secundario en add Jar/Folder y buscamos nuestra librería y le damos a add Library



Enseguida modificaremos la clase java que se nos genero por defecto al crear el proyecto, en este caso se llama "Graficas.java" borramos todo el contenido que este dentro de esta clase y reemplazamos por el siguiente código el cual se encargara de generar las gráficas de barra.





Salimos de la clase y guardamos los cambios si nos pide guardar, ahora nos dirigiremos a la clase principal donde haremos llamado de la clase Graficas para implementar sus métodos.

hacemos que el botón barras o botón 1 haga un evento de ActionPerformed, de la siguiente manera:

  • hacer click secundario sobre el botón 1 o de barra
  • hacer click en  Event - Action - ActionPerformed
Una vez dentro de el método agregamos el siguiente extracto de código  no se preocupen si les da error, lo solucionaremos mas adelante.




Para solucionar los ERRORES que se generaron se debe de agregar esta linea ente el nombre de la clase y el InitComponent()}
.....

public class Graficas extends javax.swing.JFrame {
Graficas  migrafico = new Graficas (); //aqui debe de ir esta linea de programacion
    public Graficas() {
        initComponents();     
    }
......
Y recuerden incorporar las librerías que les pidan en este caso son estas dos, aunque ya se agregaran mas.
import java.awt.Dimension;
import javax.swing.JLabel;

y Listo se ha finalizado la creación de gráficos de barra, ahora pasaremos al lado de generar el grafico de torta con otros datos de ejemplo.

Para la creación del Gráfico de torta espesaremos con la incorporación de las librerías que serán indispensables, para no agregarlas después.

import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;


En la misma ubicacion donde Esta Graficas migrafico = new Graficas(), deben de incorporar lo siguiente, que seran nuestras variables globales:

    private BufferedImage _image;//para la imagen en memoria
    private JFreeChart grafico;// el grafico

luego nos vamos a el JFrame nuevamente y le damos accion al Boton 2 o circular
  • hacer click segundario sobre el boton 2 o de circular
  • hacer click en  Event - Action - ActionPerformed
agregamos el siguiente extracto de código en el método generado


y finalizamos la programación ahora solo ahí que probarlo...

Captura:



En fin ya tiene todos los recursos para hacer sus propios gráficos sin métodos engorroso, es tan fácil y sencillo.  Solo queda desearles que disfruten programando....y les dejare el proyecto comprimido mas abajo...saludos , cualquier duda o consulta ruego dejen sus comentarios...recuerden agradecer no cuesta nada..


PROYECTO COMPRIMIDO, DESARROLLADO CON NETBEANS 7.2.1


Comentarios

  1. Anónimo5/1/13 11:21

    Muy bueno, muchas gracias estaba buscando algun ejemplo de guia.

    ResponderBorrar
  2. Gracias pana, justo lo que necesitaba.

    ResponderBorrar
    Respuestas
    1. si quieres que publique sobre otras cosa puedes pedirlo para investigarlo y hacer un mini tutotial

      Borrar
  3. Anónimo3/5/13 15:12

    muy bueno pero al llegar a estas lineas :
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    y a :
    DefaultPieDataset dataset = new DefaultPieDataset();
    el Netbeans me lanza el siguiente error:

    Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: org/jfree/util/PublicCloneable
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at
    java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:410)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)



    Por favor si puede ayudeme pleaseee!!

    ResponderBorrar
    Respuestas
    1. supongo que agregaste esta importacion

      import org.jfree.data.general.DefaultPieDataset;

      Borrar
    2. osea todas estas que estan relacionada con jFreeChart

      import org.jfree.chart.ChartFactory;
      import org.jfree.chart.JFreeChart;
      import org.jfree.data.general.DefaultPieDataset;

      Borrar

Publicar un comentario

Deja tus comentario

Entradas más populares de este blog

Juego del gato

Convertir decimal a binario, octal y hexadecima