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 pe.eeob.ndrasistencias.view; import java.io.FileOutputStream; import java.io.InputStream; import java.util.List; import javax.swing.table.DefaultTableModel; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; import pe.eeob.ndrasistencias.controller.EstudianteController; import pe.eeob.ndrasistencias.domain.Estudiante; import pe.eeob.ndrasistencias.util.Dialogo; import pe.eeob.ndrasistencias.util.Ndr; /** * * @author ErickOre */ public class ConsultaEstudianteView extends javax.swing.JInternalFrame { private EstudianteController control = new EstudianteController(); private List<Estudiante> lista; private String accion; /** * Creates new form ConsultaSede */ public ConsultaEstudianteView() { initComponents(); } public void setAccion(String accion) { this.accion = accion; establecerTitulo(); habilitarControles(); } private void establecerTitulo() { String titulo = "%s ESTUDIANTE"; titulo = String.format(titulo, accion); this.setTitle(titulo); } private void habilitarControles() { btnEditar.setEnabled(accion.equals(Ndr.CRUD_EDITAR)); btnEliminar.setEnabled(accion.equals(Ndr.CRUD_EDITAR)); } /** * 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() { txtDni = new javax.swing.JTextField(); txtPaterno = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); btnBuscar = new javax.swing.JButton(); jScrollPane2 = new javax.swing.JScrollPane(); tblTabla = new javax.swing.JTable(); jLabel4 = new javax.swing.JLabel(); txtNombre = new javax.swing.JTextField(); jLabel5 = new javax.swing.JLabel(); txtEdad = new javax.swing.JTextField(); btnEditar = new javax.swing.JButton(); btnEliminar = new javax.swing.JButton(); jButton1 = new javax.swing.JButton(); setClosable(true); setIconifiable(true); setMaximizable(true); setResizable(true); setTitle("Estudiante"); jLabel2.setText("DNI:"); jLabel3.setText("APELLIDO PATERNO:"); btnBuscar.setText("BUSCAR"); btnBuscar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnBuscarActionPerformed(evt); } }); tblTabla.setModel(new javax.swing.table.DefaultTableModel( new Object[][] { { null, null, null, null, null, null, null }, { null, null, null, null, null, null, null }, { null, null, null, null, null, null, null }, { null, null, null, null, null, null, null } }, new String[] { "DNI", "PATERNO", "MATERNO", "NOMBRE", "EDAD", "DISTRITO", "DNI APODERADO" }) { boolean[] canEdit = new boolean[] { false, false, false, false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit[columnIndex]; } }); jScrollPane2.setViewportView(tblTabla); jLabel4.setText("NOMBRE:"); jLabel5.setText("EDAD:"); btnEditar.setText("EDITAR"); btnEditar.setEnabled(false); btnEditar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEditarActionPerformed(evt); } }); btnEliminar.setText("ELIMINAR"); btnEliminar.setEnabled(false); btnEliminar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnEliminarActionPerformed(evt); } }); jButton1.setText("EXCEL"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton1ActionPerformed(evt); } }); 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.TRAILING) .addGroup(layout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 624, Short.MAX_VALUE)) .addGroup(layout .createSequentialGroup().addGap(19, 19, 19) .addGroup( layout.createParallelGroup( javax.swing.GroupLayout.Alignment.LEADING) .addComponent( jLabel3) .addComponent(jLabel2)) .addGap(18, 18, 18) .addGroup(layout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(txtDni, javax.swing.GroupLayout.Alignment.LEADING) .addComponent( txtPaterno, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout .createParallelGroup( javax.swing.GroupLayout.Alignment.TRAILING, false) .addGroup(layout.createSequentialGroup() .addComponent(jLabel5) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE) .addComponent( txtEdad, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup() .addComponent(jLabel4) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGap(40, 40, 40) .addComponent(btnBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap( javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap()) .addGroup(layout.createSequentialGroup().addGap(198, 198, 198) .addComponent(btnEditar, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnEliminar, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtNombre, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(txtEdad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel5))) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2).addComponent(txtDni, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3).addComponent(txtPaterno, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addComponent(btnBuscar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 29, Short.MAX_VALUE) .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 219, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(btnEditar).addComponent(btnEliminar)) .addContainerGap())); pack(); }// </editor-fold>//GEN-END:initComponents private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarActionPerformed try { //Datos Estudiante estudiante = new Estudiante(); estudiante.setDni(txtDni.getText()); estudiante.setPaterno(txtPaterno.getText()); estudiante.setNombre(txtNombre.getText()); estudiante.setEdad(txtEdad.getText()); //Proceso lista = control.getEstudiantes(estudiante); //Reporte mostrarLista(lista); } catch (Exception e) { Dialogo.error(rootPane, e.getMessage()); } }//GEN-LAST:event_btnBuscarActionPerformed private void btnEditarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEditarActionPerformed int fila = tblTabla.getSelectedRow(); if (fila == -1) { return; } Estudiante bean = lista.get(fila); EditarEliminarlEstudianteView view = new EditarEliminarlEstudianteView(null, true); view.setBean(bean); view.setAccion(Ndr.CRUD_EDITAR); view.setVisible(true); }//GEN-LAST:event_btnEditarActionPerformed private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarActionPerformed int fila = tblTabla.getSelectedRow(); if (fila == -1) { return; } Estudiante bean = lista.get(fila); EditarEliminarlEstudianteView view = new EditarEliminarlEstudianteView(null, true); view.setBean(bean); view.setAccion(Ndr.CRUD_ELIMINAR); view.setVisible(true); }//GEN-LAST:event_btnEliminarActionPerformed private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed if (lista == null || lista.size() == 0) { return; } try { // El libro String plantilla = "/pe/eeob/ndrasistencias/plantillas/Estudiantes.xls"; InputStream isPlantilla = Class.class.getResourceAsStream(plantilla); POIFSFileSystem fs = new POIFSFileSystem(isPlantilla); HSSFWorkbook wb = new HSSFWorkbook(fs, true); // Acceder a la hoja HSSFSheet sheet = wb.getSheetAt(0); // Llenar datos int fila = 0; for (Estudiante bean : lista) { fila++; HSSFRow row = sheet.createRow(fila); row.createCell(0).setCellValue(bean.getDni()); row.createCell(1).setCellValue(bean.getPaterno()); row.createCell(2).setCellValue(bean.getMaterno()); row.createCell(3).setCellValue(bean.getNombre()); row.createCell(4).setCellValue(bean.getEdad()); row.createCell(5).setCellValue(bean.getDistrito()); row.createCell(6).setCellValue(bean.getDni_apoderado()); } // Grabar FileOutputStream fileOut = new FileOutputStream("c://prog/Estudiantes.xls"); wb.write(fileOut); fileOut.close(); Dialogo.info(rootPane, "Los datos fueron exportados correctamente!"); } catch (Exception e) { e.printStackTrace(); Dialogo.error(rootPane, e.getMessage()); } }//GEN-LAST:event_jButton1ActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnBuscar; private javax.swing.JButton btnEditar; private javax.swing.JButton btnEliminar; private javax.swing.JButton jButton1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JScrollPane jScrollPane2; private javax.swing.JTable tblTabla; private javax.swing.JTextField txtDni; private javax.swing.JTextField txtEdad; private javax.swing.JTextField txtNombre; private javax.swing.JTextField txtPaterno; // End of variables declaration//GEN-END:variables private void mostrarLista(List<Estudiante> lista) { DefaultTableModel tabla; tabla = (DefaultTableModel) tblTabla.getModel(); tabla.setRowCount(0); for (Estudiante estudiante : lista) { Object[] rowData = { estudiante.getDni(), estudiante.getPaterno(), estudiante.getMaterno(), estudiante.getNombre(), estudiante.getEdad(), estudiante.getDistrito(), estudiante.getDni_apoderado() }; tabla.addRow(rowData); } } }