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 vista.swing.habitacion; //import vista.swing.alojamientos.*; //import controlador.DTO.AlojamientoDTO; //import controlador.DTO.HabitacionDTO; import controlador.datos.Facade; import hibernate.dto.Habitacion; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.swing.JOptionPane; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; /** * * @author Alumno */ public class BuscarHabitacionID extends javax.swing.JFrame { /** * Creates new form VentanaBuscarAlojamiento */ public BuscarHabitacionID() { initComponents(); this.setTitle("Introduce un ID de Habitacion"); this.setResizable(false); this.setVisible(true); this.setLocationRelativeTo(null); } /** * 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() { jLabelTitulo = new javax.swing.JLabel(); jLabelID = new javax.swing.JLabel(); jTextFieldInputID = new javax.swing.JTextField(); jButtonBuscar = new javax.swing.JButton(); jButtonCancelar = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jLabelTitulo.setFont(new java.awt.Font("Tahoma", 1, 18)); // NOI18N jLabelTitulo.setText("Modificar Habitacin"); jLabelID.setText("# ID:"); jButtonBuscar.setText("Buscar"); jButtonBuscar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonBuscarActionPerformed(evt); } }); jButtonCancelar.setText("Cancelar"); jButtonCancelar.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCancelarActionPerformed(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.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addComponent(jButtonBuscar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(18, 18, 18).addComponent(jButtonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(layout.createSequentialGroup().addGap(74, 74, 74).addComponent(jLabelID) .addGap(18, 18, 18).addComponent(jTextFieldInputID)) .addGroup(layout.createSequentialGroup().addGap(10, 10, 10).addComponent(jLabelTitulo) .addGap(0, 0, Short.MAX_VALUE))) .addContainerGap())); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap().addComponent(jLabelTitulo) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jTextFieldInputID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabelID)) .addGap(18, 18, 18) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButtonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jButtonBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))); pack(); }// </editor-fold>//GEN-END:initComponents private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelarActionPerformed this.dispose(); }//GEN-LAST:event_jButtonCancelarActionPerformed /** * Chequea que el input realizado sobre la ID sean solo numeros. * @return True si el campo contiene solo numeros (int). */ private boolean checkInputIDNumericoExprRegular() { try { Pattern pat = Pattern.compile("[0-9]+"); Matcher mat = pat.matcher(jTextFieldInputID.getText()); return mat.matches(); } catch (NumberFormatException ex) { return false; } } /** * Get de una Habitacion por su ID primario. * @return Habitacion instanciada o null si no hay ninguna. */ private Habitacion getHabitacionPorID() { Session s = Facade.abrirSessionHibernate(); String id = this.jTextFieldInputID.getText(); List lista = s.createCriteria(Habitacion.class).add(Restrictions.idEq(Integer.parseInt(id))).list(); return lista.size() > 0 ? (Habitacion) lista.get(0) : null; } private void jButtonBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBuscarActionPerformed try { if (checkInputIDNumericoExprRegular()) { Habitacion habDTOTmp = getHabitacionPorID(); if (habDTOTmp != null) { new AltaModifHabitacion(habDTOTmp); this.dispose(); } else { JOptionPane.showMessageDialog(this, "No existe ninguna Habitacin con esa ID"); } } else { JOptionPane.showMessageDialog(this, "Introduce un numero valido"); } } catch (NumberFormatException ex) { JOptionPane.showMessageDialog(this, "El numero introducido no es un entero"); } }//GEN-LAST:event_jButtonBuscarActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButtonBuscar; private javax.swing.JButton jButtonCancelar; private javax.swing.JLabel jLabelID; private javax.swing.JLabel jLabelTitulo; private javax.swing.JTextField jTextFieldInputID; // End of variables declaration//GEN-END:variables }