Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package GUI; import BD.ConectorSQL; import CSV.CSVManager; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.data.category.DefaultCategoryDataset; import org.jfree.data.general.DefaultPieDataset; /** * * @author Diego */ public class VentanaPrincipal extends javax.swing.JFrame { /** * Creates new form VentanaPrincipal */ private VentanaPrincipal() { ajustarComponentes(); } //constructor privado public static VentanaPrincipal obtenerInstancia() { if (instancia == null) { instancia = new VentanaPrincipal(); } return instancia; } public void SalirPrograma() { if ((JOptionPane.showConfirmDialog(this, "Realmente desea salir de la aplicacin?", "Salir del Monitor 1 de Bases de Datos", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) == JOptionPane.YES_OPTION)) { System.exit(0); } } /** * 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">//GEN-BEGIN:initComponents private void initComponents() { jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); jSeparator1 = new javax.swing.JSeparator(); jSeparator2 = new javax.swing.JSeparator(); jPanel3 = new javax.swing.JPanel(); jLabel3 = new javax.swing.JLabel(); jSeparator5 = new javax.swing.JSeparator(); jSeparator6 = new javax.swing.JSeparator(); Capas = new javax.swing.JLayeredPane(); barras = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); jSeparator3 = new javax.swing.JSeparator(); jLabel2 = new javax.swing.JLabel(); jSeparator4 = new javax.swing.JSeparator(); Capas1 = new javax.swing.JLayeredPane(); pastel = new javax.swing.JPanel(); jScrollPane2 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jMenuBar1 = new javax.swing.JMenuBar(); jMenu1 = new javax.swing.JMenu(); itemSalir = new javax.swing.JMenuItem(); jMenu2 = new javax.swing.JMenu(); itemPreferencias = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR)); setLocationByPlatform(true); setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent evt) { formWindowClosed(evt); } }); jLabel1.setText("Estado de los tablespaces"); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout .setHorizontalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap() .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 133, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup().addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1)) .addContainerGap(216, Short.MAX_VALUE))); jLabel3.setText("Grfica de espacio del tablespace"); Capas.setBorder( new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED, java.awt.Color.white, new java.awt.Color(153, 153, 153), java.awt.Color.darkGray, java.awt.Color.lightGray)); javax.swing.GroupLayout barrasLayout = new javax.swing.GroupLayout(barras); barras.setLayout(barrasLayout); barrasLayout.setHorizontalGroup(barrasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 427, Short.MAX_VALUE)); barrasLayout.setVerticalGroup(barrasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 436, Short.MAX_VALUE)); javax.swing.GroupLayout CapasLayout = new javax.swing.GroupLayout(Capas); Capas.setLayout(CapasLayout); CapasLayout.setHorizontalGroup(CapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 435, Short.MAX_VALUE) .addGroup(CapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( barras, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); CapasLayout.setVerticalGroup(CapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 0, Short.MAX_VALUE) .addGroup(CapasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CapasLayout.createSequentialGroup().addContainerGap().addComponent(barras, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))); Capas.setLayer(barras, javax.swing.JLayeredPane.DEFAULT_LAYER); jLabel2.setText("Grfico del tablespace"); Capas1.setBorder( new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED, java.awt.Color.white, new java.awt.Color(153, 153, 153), java.awt.Color.darkGray, java.awt.Color.lightGray)); javax.swing.GroupLayout pastelLayout = new javax.swing.GroupLayout(pastel); pastel.setLayout(pastelLayout); pastelLayout.setHorizontalGroup(pastelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 406, Short.MAX_VALUE)); pastelLayout.setVerticalGroup(pastelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 443, Short.MAX_VALUE)); javax.swing.GroupLayout Capas1Layout = new javax.swing.GroupLayout(Capas1); Capas1.setLayout(Capas1Layout); Capas1Layout.setHorizontalGroup(Capas1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 406, Short.MAX_VALUE) .addGroup(Capas1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( pastel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); Capas1Layout.setVerticalGroup(Capas1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 443, Short.MAX_VALUE) .addGroup(Capas1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent( pastel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); Capas1.setLayer(pastel, javax.swing.JLayeredPane.DEFAULT_LAYER); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addComponent(Capas1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel2Layout.createSequentialGroup().addGap(4, 4, 4) .addComponent(jSeparator3, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(18, 18, 18).addComponent(jSeparator4, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(37, 37, 37))); jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup().addGap(0, 0, 0).addGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(jLabel2) .addComponent(jSeparator3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator4, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(Capas1))); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup(jPanel3Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addGroup(jPanel3Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addGap(19, 19, 19) .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 233, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jSeparator6)) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(Capas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 10, Short.MAX_VALUE))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(20, 20, 20))); jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup() .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSeparator6, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jSeparator5, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel3)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addComponent(Capas) .addContainerGap()) .addGroup(jPanel3Layout.createSequentialGroup().addGap(4, 4, 4) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); jTable1.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { }, new String[] { "Tablespace", "Usado (Mb)", "Libre (Mb)", "Total (Mb)", "% Usado" }) { Class[] types = new Class[] { java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class }; public Class getColumnClass(int columnIndex) { return types[columnIndex]; } }); jScrollPane2.setViewportView(jTable1); jMenu1.setText("Archivo"); itemSalir.setText("Salir"); itemSalir.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { itemSalirActionPerformed(evt); } }); jMenu1.add(itemSalir); jMenuBar1.add(jMenu1); jMenu2.setText("Editar"); itemPreferencias.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_P, java.awt.event.InputEvent.CTRL_MASK)); itemPreferencias.setText("Preferencias..."); itemPreferencias.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { itemPreferenciasActionPerformed(evt); } }); jMenu2.add(itemPreferencias); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 332, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(6, 6, 6))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 203, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addGap(0, 0, Short.MAX_VALUE).addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))); pack(); }// </editor-fold>//GEN-END:initComponents private void itemPreferenciasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemPreferenciasActionPerformed // TODO add your handling code here: vent_Preferencias = VentanaPreferencias.obtenerInstancia(); vent_Preferencias.setVisible(true); }//GEN-LAST:event_itemPreferenciasActionPerformed private void itemSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_itemSalirActionPerformed SalirPrograma(); }//GEN-LAST:event_itemSalirActionPerformed private void formWindowClosed(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_formWindowClosed }//GEN-LAST:event_formWindowClosed /** * @param args the command line arguments */ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLayeredPane Capas; private javax.swing.JLayeredPane Capas1; private javax.swing.JPanel barras; private javax.swing.JMenuItem itemPreferencias; private javax.swing.JMenuItem itemSalir; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JMenu jMenu1; private javax.swing.JMenu jMenu2; private javax.swing.JMenuBar jMenuBar1; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JSeparator jSeparator3; private javax.swing.JSeparator jSeparator4; private javax.swing.JSeparator jSeparator5; private javax.swing.JSeparator jSeparator6; private javax.swing.JTable jTable1; private javax.swing.JPanel pastel; // End of variables declaration//GEN-END:variables private static VentanaPrincipal instancia = null; private static VentanaPreferencias vent_Preferencias = null; public static ConectorSQL conectorBD = new ConectorSQL(); public CSVManager csv = new CSVManager(); private void ajustarComponentes() { setResizable(true); setLocationByPlatform(true); setLocationRelativeTo(null); // this.pastel.setVisible(false); setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { //instancia.dispose(); SalirPrograma(); } }); initComponents(); addtablespaceInfoToTable(); GraficaPastel(); graficaBarras(); } void graficaBarras() { barras.setVisible(true); Capas1.setLayer(barras, 0, 0); ChartPanel panel; JFreeChart chart = null; //grafico de barras DefaultCategoryDataset data = new DefaultCategoryDataset(); String Producto1 = "Sopas"; String Producto2 = "Soda"; String Dia1 = "Da 1"; String Dia2 = "Da 2"; String Dia3 = "Da 3"; String Dia4 = "Da 4"; data.addValue(18, Producto1, Dia1); data.addValue(15, Producto1, Dia2); data.addValue(14, Producto1, Dia3); data.addValue(11, Producto1, Dia4); data.addValue(50, Producto2, Dia1); data.addValue(45, Producto2, Dia2); data.addValue(31, Producto2, Dia3); data.addValue(10, Producto2, Dia4); chart = ChartFactory.createBarChart("Grfico de Barras", "Da", "Cantidad", data, PlotOrientation.HORIZONTAL, true, true, true); CategoryPlot plot = (CategoryPlot) chart.getPlot(); plot.setDomainGridlinesVisible(true); panel = new ChartPanel(chart); panel.setBounds(5, 10, 410, 400); //grfico de barras barras.add(panel); barras.repaint(); } void GraficaPastel() { JFreeChart chart = null; //grafico de pastel //addtablespaceInfoToTable(); DefaultPieDataset data = new DefaultPieDataset(); data.setValue("Categora 1", 20); data.setValue("Categora 2", 60); data.setValue("Categora 3", 20); chart = ChartFactory.createPieChart3D("Grfico de Pastel", data, true, true, true); pastel.setVisible(true); Capas.setLayer(pastel, 0, 0); ChartPanel panel; panel = new ChartPanel(chart); panel.setBounds(5, 10, 410, 400); pastel.add(panel); pastel.repaint(); } public void StringAValores(String cadena, Object[] vector) { int parametro = 0; String palabra = ""; Object objeto = new Object(); for (int i = 0; i <= cadena.length(); i++) { if (cadena.charAt(i) != ',') { palabra += cadena.charAt(i); } else { vector[parametro] = palabra; parametro++; palabra = ""; } } } public void addtablespaceInfoToTable() { String[] filas = Conector.conectorBD.getInfoTableSpaces().split("\n"); String[] columnas; DefaultTableModel modelo = (DefaultTableModel) jTable1.getModel(); for (String fila : filas) { columnas = fila.split(","); // tablespace+","+usado+","+libre+","+total+","+%libre+"\n"; modelo.addRow( new Object[] { columnas[0], columnas[1], columnas[2], columnas[3], columnas[4], null, null });//columnas[2],columnas[3]}); } } /* METODO PARA PONER EN LOS BOTONES/PESTAAS DE EXPORTAR A EXECL*/ public void exportarCSV() { csv.escritorDatosHistoricos(Conector.conectorBD.getInfoTablaRegistro()); } }