PROGRAMAR EN ACCESS VBA

Aplicaciones access con VBA

  > Principal > java graficas swing
 
  codigo en botones graficas con access aplicacion formularios
 
 
.: Vba
- Formularios access
- Informes access
- Formularios Arcgis
- Acceso a datos
- Ejemplos usuarios
- Libros access
- FAQ
- Cursos
- Empleo access
.: Pdas
- Programar PDA
- Tutorial
- Ejemplos
.: Php
- php basico
- formularios php
- conexion BBDD
- funciones php
- construir Intranet
- Empleo php
.: Programar Java
- Hibernate
- Spring Rich Client
- Swing
- Java
- Empleo Java
.: Blog
- Blog Access
.: SQL
- Que es sql
- Consultas SQL
- SQL Server
- SQL Server Avanzado
.: Android
- Android
- instalación SDK
.: Geotools
- Geotools
.: Foros
- Access
- PHP
- JAVA
- Android
- Programar
 
 
.: Novedades
- iphone 5
- PDANET
- Libros de access
- android
-Newssletters
 

JAVA - GRAFICAS SWING

En este amplio ejemplo de java vamos a ver paso a paso como crear una aplicación que muestra varias graficas con información en tiempo real de una empresa. Esta desarrollada en java + hibernate + swing. A traves de un formulario podemos elegir los parametros de busqueda a mostrar

 
.: Contratar Publicidad :.

     
 


gráficas en java con swing

1.- Crear el proyecto con Java, swing e hibernate

En primer lugar creamos un proyecto nuevo JAVA, y le añadimos la configuración de hiberante, tal como vimos en el capitulo hibernate, que apuntará a la base de datos que queremos utlizar para los datos gráficos, en nuestro caso en una tabla de produccion por horas.

Crearemos también las clases y xml de nuestras tablas de la base de datos, utilizando el asistente de hibernate, y posteriormente crearemos un nuevo formulario de Swing, utilizando por ejemplo un JFrame con un JPanel embebido.

Una vez tenemos esta estructura, podemos empezar a programar la aplicación.

2.- Crear los metodos que devuelven los datos requeridos

Nos vamos a basar en el framework de desarrollo propio JHS para trabajar en esta aplicación, por lo tanto crearemos el directorio "controladores", que contendran las funciones específicas de cada clase. En este caso lo llamaremos

controlador_datos.java

Este clase creará una hibernate Session con nuestra base de datos y a traves del metodo getDatosProduccion(Date fecha) nos devolverá un array con los datos de produccion por hora:

public List getDatosProduccion(,Date fecha){

List lista = new ArrayList();
int mes = fecha.getMonth() + 1;
int dia = fecha.getDay();
int anyo = fecha.getYear() + 1900;

Calendar Calendario = new GregorianCalendar();
Calendario.setTime(fecha);
anyo = Calendario.get(GregorianCalendar.YEAR);
dia = Calendario.get(GregorianCalendar.MONTH)+1;
mes = Calendario.get(GregorianCalendar.DAY_OF_MONTH);

String fechabuena = dia + "/" + mes + "/" + anyo;
session = this.estacionSessionFactory(estacion, fechabuena);
String consulta = "Select hour(horaFinInspeccion) as hora ,count(ID)"
+ " as Id from produccion where estado = 1 "
and fechafinalizacion = '" + fechabuena + "' "
+ "group by hour(hora) order by hour(hora)";


try {
tx = session.beginTransaction();
lista = session.createQuery(consulta).list();

}
catch (HibernateException e) {
e.printStackTrace();
if (tx != null && tx.isActive())
tx.rollback();
/*}*/
}
return lista;
}

 


2.- Crear el objeto gráfica con jfreeChart y pasarle los datos

Una vez que tenemos el metodo para obtener la lista de resultados, necesitamos crear el objeto grafico, en este caso, creamos una imagen con la grafica, y se la pasaremos a un objeto tipo label para poder verla:

public BufferedImage creagrafica(Date fecha) {
Integer cont = 0;

DefaultCategoryDataset dataset = new DefaultCategoryDataset();
String row = "";

try {

List lista = new ArrayList();

lista = controlador.getDatosProduccion(fecha);

Iterator i = lista.iterator();
System.out.println("ENTRANDO EN BUCLE");
while (i.hasNext()) {
cont++;
row = "row " + cont;

Object[] registro = (Object[])i.next();

int hora = (Integer)registro[0];

int total = (Integer)registro[1];


dataset.addValue(total, row,hora);
}

} catch (Exception e) {
System.out.println("excepcion controlada en grafica de hora");
}

// TODO
////////////////////////////////////////////////////////NUEVO
//final XYSeriesCollection collection = new XYSeriesCollection();
// collection.addSeries(series);

// final IntervalXYDataset data1 = collection;
JFreeChart chart = ChartFactory.createBarChart("","","produccion",dataset,PlotOrientation.HORIZONTAL,false,false,false );

CategoryPlot plot = (CategoryPlot) chart.getPlot();
plot.setBackgroundPaint(Color.lightGray);
plot.setRangeGridlinePaint(Color.white);
plot.setAnchorValue(30);
// customise the range axis...
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
CategoryAxis axis = plot.getDomainAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
// customise the renderer...
rangeAxis.setRange(0,10);
rangeAxis.setLabelFont(new Font("SansSerif", Font.PLAIN, 1));
axis.setLabelFont(new Font("SansSerif", Font.PLAIN, 1));
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
((NumberAxis) rangeAxis).setTickUnit(new NumberTickUnit(1));
axis.setLowerMargin(0);
axis.setMaximumCategoryLabelLines(10);

 

 

BufferedImage image = chart.createBufferedImage(110,190);
return image;
}

3.- Mostrar la Gráfica

ahora que ya tenemos el bufferedImage con la gráfica, es el momento de mostrarla en nuestro panel swing, para ello creamos un jLabel en la parte del formulario donde queramos ver la gráfica, y con el metodo setIcon le asignamos la imagen

jLabel grafico = new jLabel();

grafico.setIcon(new ImageIcon(image));

4.- Resultado Final

El resultado visual sería este:

grafica java

 

 

 
 
Añadir a favoritos Contacto Libros sobre access y vba Enlaces Todo Access  
 
.: En ProgramarVBA podrá encontrar:        
Visual Basic Formularios Access Informes Android PDAs Java y Sql SQL SERVER
Foro GIS Foro PDAs Tutorial VBA Bases de datos Access Foro SQL Acceso a datos access Informes access