Sunteți pe pagina 1din 4

import import import import import import import import import import import import import import import

import

Conexion.ConectarFarmacia; java.sql.Date; java.sql.SQLException; java.util.Locale; java.util.logging.Level; java.util.logging.Logger; org.jfree.chart.ChartFactory; org.jfree.chart.ChartFrame; org.jfree.chart.JFreeChart; org.jfree.chart.axis.CategoryAxis; org.jfree.chart.axis.CategoryLabelPositions; org.jfree.chart.plot.CategoryPlot; org.jfree.chart.plot.PlotOrientation; org.jfree.chart.renderer.category.BarRenderer; org.jfree.data.jdbc.JDBCCategoryDataset; org.jfree.data.jdbc.JDBCPieDataset;

/** * * @author Fernando */ public class Graficas extends javax.swing.JPanel { /** * Creates new form Graficas */ public Graficas() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code"> private void initComponents() { jLabel1 = new jLabel2 = new jLabel3 = new jLabel4 = new jDateChooser1 jDateChooser2 jButtonBarras jButtonPastel javax.swing.JLabel(); javax.swing.JLabel(); javax.swing.JLabel(); javax.swing.JLabel(); = new com.toedter.calendar.JDateChooser(); = new com.toedter.calendar.JDateChooser(); = new javax.swing.JButton(); = new javax.swing.JButton();

jLabel1.setText("CANTIDAD DE PRODUCTOS"); jLabel2.setText("Escoja el intervalo de fechas:"); jLabel3.setText("Desde:"); jLabel4.setText("Hasta:"); jButtonBarras.setText("Graficar Barras"); jButtonBarras.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) {

jButtonBarrasActionPerformed(evt); } }); jButtonPastel.setText("Graficar Pastel"); jButtonPastel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonPastelActionPerformed(evt); } }); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(layout.createSequentialGroup() .addGap(26, 26, 26) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZ E, 186, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING) .addComponent(jLabel3, javax.swing.GroupLayout.PREFE RRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLa yout.Alignment.LEADING) .addComponent(jDateChooser2, javax.swing.GroupLayout .DEFAULT_SIZE, 221, Short.MAX_VALUE) .addComponent(jDateChooser1, javax.swing.GroupLayout .DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addContainerGap(77, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(layout.createSequentialGroup() .addGap(78, 78, 78) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED _SIZE, 231, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addGap(44, 44, 44) .addComponent(jButtonBarras) .addGap(48, 48, 48) .addComponent(jButtonPastel))) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING ) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jLabel1) .addGap(18, 18, 18) .addComponent(jLabel2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELA TED, 35, Short.MAX_VALUE)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jLabel3) .addGap(23, 23, 23) .addComponent(jLabel4) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacem ent.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(layout.createSequentialGroup() .addComponent(jDateChooser1, javax.swing.GroupLayout.PRE FERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFE RRED_SIZE) .addGap(18, 18, 18) .addComponent(jDateChooser2, javax.swing.GroupLayout.DEF AULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(48, 48, 48))) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Ali gnment.BASELINE) .addComponent(jButtonBarras) .addComponent(jButtonPastel)) .addGap(79, 79, 79)) ); }// </editor-fold> private void jButtonBarrasActionPerformed(java.awt.event.ActionEvent evt) { try { // TODO add your handling code here: //Graficar en forma de barras // se Escojen las fechas Date d1 = new Date(jDateChooser1.getDate().getTime()); Date d2 = new Date(jDateChooser2.getDate().getTime()); //se escribe la instrauccion sql q en este caso viene desde una vist a. String query="select nombre, cantidad from vista3 where fecha betwee n "+" '"+d1.toString()+"' "+"AND"+" '"+d2.toString()+"'"; //conexion con la base de datos JDBCCategoryDataset dataset= new JDBCCategoryDataset(ConectarFarmaci a.Conectar(), query); //se crea el grafico de barras coon los parametros de la inst sql // JFreeChart chart=ChartFactory.createBarChart("Grafica Barras", "no mbre","cantidad", dataset, PlotOrientation.VERTICAL, false, true, true); JFreeChart chart1=ChartFactory.createBarChart3D("Grafica Barras3d"," nombre", "cantidad", dataset, PlotOrientation.VERTICAL, false, true, false); //se cambia la direccion de las letras del eje x para mayor visibili dad CategoryPlot plot=chart1.getCategoryPlot(); CategoryAxis axis=(CategoryAxis)plot.getDomainAxis(); axis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); //se creal el frame de la grafica para al presionar el boton se visu alice BarRenderer rendered=null; rendered=new BarRenderer(); ChartFrame frame=new ChartFrame("Grafica Barras",chart1); frame.setLocation(250,100); frame.setVisible(true); frame.setSize(600, 600);

} catch (SQLException ex) { Logger.getLogger(Graficas.class.getName()).log(Level.SEVERE, null, e x); } } private void jButtonPastelActionPerformed(java.awt.event.ActionEvent evt) { try { // TODO add your handling code here: Date d1 = new Date(jDateChooser1.getDate().getTime()); Date d2 = new Date(jDateChooser2.getDate().getTime()); //se escribe la instrauccion sql q en este caso viene desde una vista. String query="select nombre, cantidad from vista3 where fecha be tween "+" '"+d1.toString()+"' "+"AND"+" '"+d2.toString()+"'"; //conexion con la base de datos JDBCPieDataset pieset=new JDBCPieDataset(ConectarFarmacia.Conectar( ), query); // JFreeChart pie=ChartFactory.createPieChart("Grafica Pastel", pies et, true, true, Locale.FRENCH); JFreeChart pie=ChartFactory.createPieChart3D("", pieset, true, true , Locale.FRENCH); ChartFrame frame=new ChartFrame("Grafica Pastel",pie); frame.setLocation(250,100); frame.setVisible(true); frame.setSize(600, 650); } catch (SQLException ex) { Logger.getLogger(Graficas.class.getName()).log(Level.SEVERE, null, e x); } } // Variables declaration - do not modify private javax.swing.JButton jButtonBarras; private javax.swing.JButton jButtonPastel; private com.toedter.calendar.JDateChooser jDateChooser1; private com.toedter.calendar.JDateChooser jDateChooser2; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; // End of variables declaration }

S-ar putea să vă placă și