/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /* * FrmVisualizaCarros.java * * Created on 03/10/2010, 02:07:55 */ package boundary; import control.ControladoraCarros; import control.ControladoraReserva; import java.sql.SQLException; import java.text.ParseException; import java.util.Date; import java.util.Vector; import javax.swing.JOptionPane; import javax.swing.table.DefaultTableModel; import util.ConexaoException; import util.MinhaException; /** * * @author Tiago Vailant */ public class FrmVisualizaCarros extends javax.swing.JDialog { private ControladoraCarros controladoraCarros; private ControladoraReserva controladoraReservas = new ControladoraReserva(); protected void limparTable() { DefaultTableModel model = (DefaultTableModel) this.jTable1.getModel(); int numeroLinha = model.getRowCount(); for(int i = 0; i < numeroLinha; i++) { model.removeRow(0); } } protected void preencherTable(Vector carros) { DefaultTableModel model = (DefaultTableModel)this.jTable1.getModel(); for(int i = 0; i < carros.size(); i++) { model.insertRow(model.getRowCount(), (Vector)carros.get(i)); } } protected void buscarCarros(Vector grupo, Date dataLocacao, Date dataEntrega) throws ConexaoException{ try { Vector carros = this.controladoraCarros.selecionarCarrosPorGrupo(grupo); int carrosReservados = this.controladoraReservas.quantReservasPorData(dataLocacao, dataEntrega, grupo); if(carrosReservados == 0 && carros.size() > 0) { this.preencherTable(carros); this.setVisible(true); } else if(carrosReservados > 0 && carros.size() > 0) { for(int i = 0; i < carrosReservados; i++) { carros.remove(i); this.controladoraCarros.setMarc(i); this.controladoraCarros.removerCarrosReservados(); if(carros.size() == 0) break; } if(carros.size() == 0) { JOptionPane.showMessageDialog(null, "Não existe carro deste grupo disponível no momento !", "Informação", JOptionPane.INFORMATION_MESSAGE); this.dispose(); } else { this.preencherTable(carros); this.setVisible(true); } } else { JOptionPane.showMessageDialog(null, "Não existe carro deste grupo disponível no momento !", "Informação", JOptionPane.INFORMATION_MESSAGE); this.dispose(); } } catch(SQLException erro) { JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE); } catch(MinhaException erro) { JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE); } catch(ParseException erro) { JOptionPane.showMessageDialog(null, erro.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE); } } /** Creates new form FrmVisualizaCarros */ public FrmVisualizaCarros(java.awt.Frame parent, boolean modal, Vector grupo, Date dataLocacao, Date dataEntrega, ControladoraCarros controladora) throws ConexaoException { super(parent, modal); initComponents(); this.setLocationRelativeTo(null); this.controladoraCarros = controladora; this.limparTable(); this.buscarCarros(grupo, dataLocacao, dataEntrega); } /** 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(); jScrollPane1 = new javax.swing.JScrollPane(); jTable1 = new javax.swing.JTable(); jButton1 = new javax.swing.JButton(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("SCC - Carros do Grupo"); jPanel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED)); jTable1.setModel(new javax.swing.table.DefaultTableModel( new Object [][] { }, new String [] { "Codigo", "Modelo", "Placa", "Chassi", "Quilometros Rodados" } ) { boolean[] canEdit = new boolean [] { false, false, false, false, false }; public boolean isCellEditable(int rowIndex, int columnIndex) { return canEdit [columnIndex]; } }); jTable1.getTableHeader().setReorderingAllowed(false); jScrollPane1.setViewportView(jTable1); jTable1.getColumnModel().getColumn(0).setResizable(false); jTable1.getColumnModel().getColumn(0).setPreferredWidth(1); jTable1.getColumnModel().getColumn(1).setResizable(false); jTable1.getColumnModel().getColumn(1).setPreferredWidth(50); jTable1.getColumnModel().getColumn(2).setResizable(false); jTable1.getColumnModel().getColumn(2).setPreferredWidth(10); jTable1.getColumnModel().getColumn(3).setResizable(false); jTable1.getColumnModel().getColumn(3).setPreferredWidth(30); jTable1.getColumnModel().getColumn(4).setResizable(false); jTable1.getColumnModel().getColumn(4).setPreferredWidth(20); 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(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 608, 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() .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 139, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jButton1.setText("Selecionar"); 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(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 117, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 16, Short.MAX_VALUE) .addComponent(jButton1) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed int linhaSelecionada = this.jTable1.getSelectedRow(); if(linhaSelecionada < 0) JOptionPane.showMessageDialog(null, "É necessário selecionar um carro !", "Informação", JOptionPane.INFORMATION_MESSAGE); else { this.controladoraCarros.setMarc(linhaSelecionada); this.setVisible(false); } }//GEN-LAST:event_jButton1ActionPerformed /** * @param args the command line arguments *//* public static void main(String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { FrmVisualizaCarros dialog = new FrmVisualizaCarros(new javax.swing.JFrame(), true, new GrupoCarro(), new Date, new Date); dialog.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosing(java.awt.event.WindowEvent e) { System.exit(0); } }); dialog.setVisible(true); } }); }*/ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton jButton1; private javax.swing.JPanel jPanel1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTable jTable1; // End of variables declaration//GEN-END:variables }