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 Consultas; import Conexion.HibernateUtil; import Entidad.ClsEntidadProductoHib; import java.util.List; import javax.swing.table.DefaultTableModel; import org.hibernate.SQLQuery; import org.hibernate.Session; /** * * @author Alan */ public class FrmBuscarProducto extends javax.swing.JInternalFrame { List<ClsEntidadProductoHib> resultados; private int selectedOption; public static final int OPT_ACEPTAR = 1; public static final int OPT_CANCELAR = 0; /** * Creates new form FrmBuscarProducto */ public FrmBuscarProducto() { initComponents(); } public ClsEntidadProductoHib getSelectedProduct() { int selected = this.tblResultados.getSelectedRow(); if (selected >= 0) { return this.resultados.get(selected); } return null; } public int getSelectedOption() { return this.selectedOption; } /** * 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(); btnCancelar = new javax.swing.JButton(); btnAceptar = new javax.swing.JButton(); jPanel2 = new javax.swing.JPanel(); jScrollPane1 = new javax.swing.JScrollPane(); tblResultados = new javax.swing.JTable(); jPanel3 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); txtNombreID = new javax.swing.JTextField(); btnBuscar = new javax.swing.JButton(); jLabel2 = new javax.swing.JLabel(); jPanel1.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT)); btnCancelar.setText("Cancelar"); btnCancelar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCancelarActionPerformed(evt); } }); jPanel1.add(btnCancelar); btnAceptar.setText("Aceptar"); btnAceptar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnAceptarActionPerformed(evt); } }); jPanel1.add(btnAceptar); getContentPane().add(jPanel1, java.awt.BorderLayout.PAGE_END); tblResultados .setModel(new javax.swing.table.DefaultTableModel( new Object[][] { { null, null, null, null }, { null, null, null, null }, { null, null, null, null }, { null, null, null, null } }, new String[] { "Title 1", "Title 2", "Title 3", "Title 4" })); jScrollPane1.setViewportView(tblResultados); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup(jPanel2Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 429, Short.MAX_VALUE) .addContainerGap())); jPanel2Layout.setVerticalGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup().addContainerGap() .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 152, Short.MAX_VALUE) .addContainerGap())); getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER); jLabel1.setText("<html>Teclea el <b>Nombre</b> del producto o su <b>Codigo</b></html>"); btnBuscar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Iconos/Buscar_p.png"))); // NOI18N btnBuscar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnBuscarActionPerformed(evt); } }); jLabel2.setText("Resultados de la Busueda:"); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup(jPanel3Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addContainerGap().addGroup(jPanel3Layout .createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(jPanel3Layout.createSequentialGroup() .addComponent(txtNombreID, javax.swing.GroupLayout.PREFERRED_SIZE, 290, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnBuscar)) .addComponent(jLabel2)).addContainerGap(90, Short.MAX_VALUE))); jPanel3Layout.setVerticalGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel3Layout.createSequentialGroup().addContainerGap() .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(txtNombreID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnBuscar)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel2).addContainerGap())); getContentPane().add(jPanel3, java.awt.BorderLayout.NORTH); pack(); }// </editor-fold>//GEN-END:initComponents private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAceptarActionPerformed // TODO add your handling code here: this.selectedOption = this.OPT_ACEPTAR; this.dispose(); }//GEN-LAST:event_btnAceptarActionPerformed private void btnBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarActionPerformed // TODO add your handling code here: String textoBusqueda = this.txtNombreID.getText(); Session session = HibernateUtil.getInstance().getSession(); session.beginTransaction(); SQLQuery query = session .createSQLQuery("SELECT * FROM producto WHERE codigo = :codigo OR nombre LIKE :nombre"); query.addEntity(ClsEntidadProductoHib.class); query.setString("codigo", textoBusqueda); query.setString("nombre", "%" + textoBusqueda + "%"); this.resultados = query.list(); DefaultTableModel dtm = new DefaultTableModel(); String titulos[] = { "ID", "Codigo", "Nombre", "Descripcion", "Precio Venta" }; dtm.setColumnIdentifiers(titulos); for (ClsEntidadProductoHib producto : this.resultados) { String datos[] = { producto.getIdProducto().toString(), producto.getCodigo(), producto.getNombre(), producto.getDescripcion(), producto.getPrecioVenta().toString() }; dtm.addRow(datos); } this.tblResultados.setModel(dtm); this.tblResultados.changeSelection(0, 0, false, false); session.close(); }//GEN-LAST:event_btnBuscarActionPerformed private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelarActionPerformed // TODO add your handling code here: this.selectedOption = this.OPT_CANCELAR; this.dispose(); }//GEN-LAST:event_btnCancelarActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnAceptar; private javax.swing.JButton btnBuscar; private javax.swing.JButton btnCancelar; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable tblResultados; private javax.swing.JTextField txtNombreID; // End of variables declaration//GEN-END:variables }