Buscar

POO2 - AVA2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 28 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE VEIGA DE ALMEIDA – UVA
 
CURSO SUPERIOR EM SITEMAS DE INFORMAÇÃO
ATIVIDADE CERTIFICADORA
PROGRAMAÇÃO ORIENTADA A OBJETOS II
FILIPE GONÇALVES ISQUIERDO– 20191302246
RIO DE JANEIRO
2021.1
FILIPE GONÇALVES ISQUIERDO
PROGRAMAÇÃO ORIENTADA A OBJETOS II
 
 Trabalho apresentado no curso 
Superior em Sistemas de Informação da 
Universidade Veiga de Almeida, como requisito 
para obtenção do certificado de
PROGRAMAÇÃO ORIENTADA A OBJETOS II
 Professor Orientador: MARCO AURELIO NOVAES ESTEVES
RIO DE JANEIRO
2021.1
CLASSE ESTACIONAMENTO
package estacionamento;
/**
 *
 * @author isquierdo
 */
public class Estacionamento {
 /**
 * @param args the command line arguments
 */
 public static void main(String[] args) {
 
 }
 
}
CLASSE APLICATIVO
package estacionamento.app;
import estacionamento.dao.CarroDAO;
import estacionamento.db.AcessoDB;
import estacionamento.model.Carro;
import java.awt.Font;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import javax.swing.JOptionPane;
/**
 *
 * @author isquierdo
 */
public class App extends javax.swing.JFrame {
 /**
 * Creates new form App
 */
 
 private Carro carroSelecionado;
 private ResultSet rs;
 private boolean edicao = false;
 
 public App() {
 initComponents();
 }
 /**
 * 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"> 
 private void initComponents() {
 jpPesquisa = new javax.swing.JPanel();
 txtPesquisa = new javax.swing.JTextField();
 btnPesquisar = new javax.swing.JButton();
 txtPlaca = new javax.swing.JTextField();
 jLabel1 = new javax.swing.JLabel();
 jLabel2 = new javax.swing.JLabel();
 txtMarca = new javax.swing.JTextField();
 txtCor = new javax.swing.JTextField();
 jLabel3 = new javax.swing.JLabel();
 txtEntrada = new javax.swing.JTextField();
 jLabel4 = new javax.swing.JLabel();
 txtSaida = new javax.swing.JTextField();
 jLabel5 = new javax.swing.JLabel();
 btnCadastrar = new javax.swing.JButton();
 btnAlterar = new javax.swing.JButton();
 btnExcluir = new javax.swing.JButton();
 btnListar = new javax.swing.JButton();
 jScrollPane1 = new javax.swing.JScrollPane();
 listaCarros = new javax.swing.JList<>();
 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
 txtPesquisa.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 txtPesquisaActionPerformed(evt);
 }
 });
 btnPesquisar.setText("Buscar por placa");
 btnPesquisar.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 btnPesquisarActionPerformed(evt);
 }
 });
 jLabel1.setText("Placa");
 jLabel2.setText("Marca");
 jLabel3.setText("Cor");
 jLabel4.setText("Entrada");
 jLabel5.setText("Saída");
 btnCadastrar.setText("cadastrar");
 btnCadastrar.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 btnCadastrarActionPerformed(evt);
 }
 });
 btnAlterar.setText("Alterar");
 btnAlterar.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 btnAlterarActionPerformed(evt);
 }
 });
 btnExcluir.setText("Excluir");
 btnExcluir.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 btnExcluirActionPerformed(evt);
 }
 });
 btnListar.setText("Listar");
 btnListar.addActionListener(new java.awt.event.ActionListener() {
 public void actionPerformed(java.awt.event.ActionEvent evt) {
 btnListarActionPerformed(evt);
 }
 });
 listaCarros.setModel(new javax.swing.AbstractListModel<String>() {
 String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
 public int getSize() { return strings.length; }
 public String getElementAt(int i) { return strings[i]; }
 });
 jScrollPane1.setViewportView(listaCarros);
 javax.swing.GroupLayout jpPesquisaLayout = new javax.swing.GroupLayout(jpPesquisa);
 jpPesquisa.setLayout(jpPesquisaLayout);
 jpPesquisaLayout.setHorizontalGroup(
 jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addContainerGap()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
 .addComponent(txtPlaca, javax.swing.GroupLayout.DEFAULT_SIZE, 80, Short.MAX_VALUE)
 .addComponent(txtPesquisa))
 .addComponent(jLabel1))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(btnPesquisar)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(jLabel2)
 .addComponent(txtMarca, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(jLabel3)
 .addComponent(txtCor, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))))
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(jLabel4)
 .addComponent(txtEntrada, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addComponent(jLabel5)
 .addComponent(txtSaida, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)))
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addComponent(btnCadastrar)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addComponent(btnAlterar).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addComponent(btnExcluir)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addComponent(btnListar))
 .addComponent(jScrollPane1))
 .addContainerGap(86, Short.MAX_VALUE))
 );
 jpPesquisaLayout.setVerticalGroup(
 jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGap(23, 23, 23)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 .addComponent(txtPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addComponent(btnPesquisar))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addComponent(jLabel1)
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 .addComponent(txtPlaca, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addComponent(txtMarca, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
 .addComponent(txtCor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 .addComponent(jLabel2)
 .addComponent(jLabel3))
 .addGap(26, 26, 26)))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 .addComponent(txtEntrada, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addComponent(txtSaida, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addGroup(jpPesquisaLayout.createSequentialGroup()
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
 .addComponent(jLabel4)
 .addComponent(jLabel5))
 .addGap(26, 26, 26)))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
 .addGroup(jpPesquisaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
 .addComponent(btnCadastrar)
 .addComponent(btnAlterar)
 .addComponent(btnExcluir)
 .addComponent(btnListar))
 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addContainerGap(15, Short.MAX_VALUE))
 );
 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()
 .addComponent(jpPesquisa, 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(jpPesquisa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
 .addContainerGap(125, Short.MAX_VALUE))
 );
 pack();
 }// </editor-fold> 
 private void txtPesquisaActionPerformed(java.awt.event.ActionEvent evt) { 
 // TODO add your handling code here:
 } 
 private void btnPesquisarActionPerformed(java.awt.event.ActionEvent evt) { 
 try{
 CarroDAO carroDAO = new CarroDAO();
 this.carroSelecionado = carroDAO.buscarPorPlaca(this.txtPesquisa.getText());
 if (this.carroSelecionado == null) {
 JOptionPane.showMessageDialog(null,"Nenhum carro encontrado!");
 return;
 }
 this.txtPlaca.setText(this.carroSelecionado.getPlaca());
 this.txtMarca.setText(this.carroSelecionado.getMarca());
 this.txtCor.setText(this.carroSelecionado.getCor());
 this.txtEntrada.setText(this.carroSelecionado.getHoraEntrada().toString());
 this.txtSaida.setText(this.carroSelecionado.getHoraSaida().toString());
 this.edicao = true;
 
 
 }catch(Exception e){
 e.printStackTrace();
 JOptionPane.showMessageDialog(null,"Não foi possível buscar o Carro!");
 }
 } 
 private void btnCadastrarActionPerformed(java.awt.event.ActionEvent evt) { 
 Carro carro = new Carro();
 CarroDAO dao = new CarroDAO();
 carro.setPlaca(txtPlaca.getText());
 carro.setMarca(txtMarca.getText());
 carro.setCor(txtCor.getText());
 carro.setHoraEntrada(Integer.valueOf(txtEntrada.getText()));
 carro.setHoraSaida(Integer.valueOf(txtSaida.getText()));
 if (dao.inserir(carro)) {
 JOptionPane.showMessageDialog(null, "Carro cadastrado!");
 }
 } 
 private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) { 
 
 CarroDAO carroDAO = new CarroDAO();
 this.carroSelecionado.setPlaca(this.txtPlaca.getText());
 this.carroSelecionado.setMarca(this.txtMarca.getText());
 this.carroSelecionado.setCor(this.txtCor.getText());
 this.carroSelecionado.setHoraEntrada(Integer.parseInt(this.txtEntrada.getText()));
 this.carroSelecionado.setHoraSaida(Integer.parseInt(this.txtSaida.getText()));
 
 if (carroDAO.alterar(this.carroSelecionado)) {
 JOptionPane.showMessageDialog(null,"Carro alterado com sucesso!");
 }
 } 
 private void btnExcluirActionPerformed(java.awt.event.ActionEvent evt) { 
 CarroDAO dao = new CarroDAO();
 if (dao.remover(this.carroSelecionado)) {
 JOptionPane.showMessageDialog(null,"Carro excluído com sucesso!");
 }
 } 
 private void btnListarActionPerformed(java.awt.event.ActionEvent evt) { 
 String consulta= "select * FROM Carros";
 AcessoDB acesso = new AcessoDB();
 if (acesso.conectar()) {
 
 try{
 PreparedStatement stm = acesso.con.prepareStatement(consulta);
 rs = stm.executeQuery();
 
 if (!rs.next()) {
 JOptionPane.showMessageDialog(null,"Nenhum carro encontrado!");
 }
 
 ArrayList<String> ar = new ArrayList<>();
 String linha = String.format("%6s|%-10s|%10s|%5s|%5s"
 ,"placa","marca","cor","Entrada","Saída");
 ar.add(linha);
 
 while(rs.next()){
 linha = String.format("%6s|%-10s|%10s|%5s|%5s", rs.getString("placa")
 ,rs.getString("marca"),rs.getString("cor"),rs.getString("horaEntrada")
 ,rs.getString("horaSaida"));
 ar.add(linha);
 }
 
 String vet[] = new String[ar.size()];
 for(int i = 0; i < ar.size(); i++){
 vet[i] = ar.get(i);
 }
 
 this.listaCarros.setFont(new Font("Courier New", Font.PLAIN, 11));
 this.listaCarros.setListData(vet);
 this.listaCarros.setSelectedIndex(1);
 
 }catch(Exception e){
 e.printStackTrace();
 JOptionPane.showMessageDialog(null,"Não foi possível listar os carros!");
 }
 }
 } 
 /**
 * @param args the command line arguments
 */
 public static void main(String args[]) {
 /* Set the Nimbus look and feel */
 //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
 /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
 * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
 */
 try {
 for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
 if ("Nimbus".equals(info.getName())) {
 javax.swing.UIManager.setLookAndFeel(info.getClassName());
 break;
 }
 }
 } catch (ClassNotFoundException ex) {
 java.util.logging.Logger.getLogger(App.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 } catch (InstantiationException ex) {
 java.util.logging.Logger.getLogger(App.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 } catch (IllegalAccessException ex) {
 java.util.logging.Logger.getLogger(App.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 } catch (javax.swing.UnsupportedLookAndFeelException ex) {
 java.util.logging.Logger.getLogger(App.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
 }
 //</editor-fold>
 /* Create and display the form */
 java.awt.EventQueue.invokeLater(new Runnable() {
 public void run() {
 new App().setVisible(true);
 }
 });
 }
 // Variables declaration - do not modify 
 private javax.swing.JButton btnAlterar;
 private javax.swing.JButton btnCadastrar;
 private javax.swing.JButton btnExcluir;
 private javax.swing.JButton btnListar;
 private javax.swing.JButton btnPesquisar;
 private javax.swing.JLabel jLabel1;
 private javax.swing.JLabel jLabel2;
 private javax.swing.JLabel jLabel3;
 private javax.swing.JLabel jLabel4;
 private javax.swing.JLabel jLabel5;
 private javax.swing.JScrollPane jScrollPane1;
 private javax.swing.JPanel jpPesquisa;
 private javax.swing.JList<String> listaCarros;
 private javax.swing.JTextField txtCor;
 private javax.swing.JTextField txtEntrada;
 private javax.swing.JTextField txtMarca;
 private javax.swing.JTextField txtPesquisa;
 private javax.swing.JTextField txtPlaca;
 private javax.swing.JTextField txtSaida;
 // End of variables declaration 
}
CLASSE CARRODAO
package estacionamento.dao;
import estacionamento.db.AcessoDB;
import estacionamento.model.Carro;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class CarroDAO {
 
 public Carro buscarPorPlaca(String placa){
 AcessoDB acesso = new AcessoDB();
 Carro carro = new Carro();
 ResultSet rs;
 
 if (acesso.conectar()) {
 try{
 String consulta = "select * from Carros where placa = '" + placa.trim() + "'";
 PreparedStatement stm = acesso.con.prepareStatement(consulta);
 rs = stm.executeQuery();
 
 if (rs.next()) {
 if (Integer.parseInt(rs.getString("id")) > 0) {
 carro.setId(Integer.parseInt(rs.getString("id")));
 carro.setPlaca(rs.getString("placa"));
 carro.setMarca(rs.getString("marca"));
 carro.setCor(rs.getString("cor"));
 carro.setHoraEntrada(Integer.parseInt(rs.getString("horaEntrada")));
 carro.setHoraSaida(Integer.parseInt(rs.getString("horaSaida")));
 }
 }
 
 }catch(Exception e){
 JOptionPane.showMessageDialog(null, "Não foi possível busca o Carro.");
 return null;
 }
 }
 
 acesso.desconectar();
 return carro;
 }
 
 public boolean inserir(Carro carro){
 AcessoDB acesso = new AcessoDB();
 
 if (acesso.conectar()) {
 try{
 String consulta = "INSERT into Carros(placa,marca,cor,horaEntrada,horaSaida)"
 + " VALUES('" + carro.getPlaca() + "','"
 + carro.getMarca() + "','" + carro.getCor() + "',"
 + carro.getHoraEntrada() + ","
 + carro.getHoraSaida() + ")";
 Statement st = acesso.con.createStatement();
 st.executeUpdate(consulta);
 }catch(Exception e){
 JOptionPane.showMessageDialog(null, "Carro não incluído.");
 return false;
 }
 }
 
 acesso.desconectar();
 return true;
 }
 
 public boolean alterar(Carro carro){
 AcessoDB acesso = new AcessoDB();
 
 if (acesso.conectar()) {
 try{
 String consulta = "UPDATE Carros SET placa='" +carro.getPlaca()+ 
 "', marca='" + carro.getMarca() 
 + "', cor ='"+ carro.getCor()+ "',horaEntrada="
 + carro.getHoraEntrada() + ", horaSaida="
 + carro.getHoraSaida()+ " WHERE id = " + carro.getId()+ "";
 
 Statement st = acesso.con.createStatement();
 st.executeUpdate(consulta);
 }catch(Exception e){
 e.printStackTrace();
 JOptionPane.showMessageDialog(null, "Carro não alterado.");
 return false;
 }
 }
 
 acesso.desconectar();
 return true;
 }
 
 public boolean remover(Carro carro){
 AcessoDB acesso = new AcessoDB();
 if (acesso.conectar()) {
 try{
 String consulta = "DELETE FROM Carros WHERE id ="
 + carro.getId();
 
 Statement st = acesso.con.createStatement();
 st.executeUpdate(consulta);
 }catch(Exception e){
 e.printStackTrace();
 JOptionPane.showMessageDialog(null, "Carro não excluído!");
 }
 }
 
 acesso.desconectar();
 returntrue;
 }
 
 public boolean listar(){
 AcessoDB acesso = new AcessoDB();
 Carro carro = new Carro();
 ResultSet rs;
 
 if (acesso.conectar()) {
 try{
 String consulta = "SELECT * FROM Carros";
 PreparedStatement stm = acesso.con.prepareStatement(consulta);
 rs = stm.executeQuery();
 
 String linha = String.format("%3s|%-15s|%10s|%10s|%10s",
 "placa", "marca","cor", "Entrada", "Saída");
 System.out.println(linha);
 
 while(rs.next()){
 if (Integer.parseInt(rs.getString("placa")) > 0) {
 carro.setPlaca(rs.getString("placa"));
 carro.setMarca(rs.getString("marca"));
 carro.setCor(rs.getString("cor"));
 carro.setHoraEntrada(Integer.parseInt(rs.getString("horaEntrada")));
 carro.setHoraSaida(Integer.parseInt(rs.getString("horaSaida")));
 
 linha = String.format("%3s|%-15s|%10s|%10s|%10s",
 carro.getPlaca(), carro.getMarca(), carro.getCor(),
 carro.getHoraEntrada().toString(), carro.getHoraSaida().toString());
 
 System.out.println(linha);
 }
 }
 rs = stm.executeQuery();
 }catch(Exception e){
 e.printStackTrace();
 System.out.println("Lista não gerada");
 return false;
 }
 
 }
 
 acesso.desconectar();
 return true;
 }
}
CLASSE ACESSODB
package estacionamento.db;
import java.io.File;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;
public class AcessoDB {
 
 public Connection con;
 private static final String ARQUIVO_BANCO = "carrosDB.accdb";
 private static final String BANCO = "jdbc:ucanaccess://" + ARQUIVO_BANCO ;
 
 public boolean conectar(){
 
 
 try{
 File arquivoBanco = new File(ARQUIVO_BANCO);
 if (!arquivoBanco.exists()) {
 JOptionPane.showMessageDialog(null, "Arquivo de banco não encontrado.");
 }
 
 con = DriverManager.getConnection(BANCO);
 } catch(Exception e){
 JOptionPane.showMessageDialog(null, e.getMessage());
 return false;
 }
 
 return true;
 }
 
 public boolean desconectar(){
 con = null;
 if(con == null){
 return true;
 }
 
 return false;
 }
}
CLASSE CARRO
package estacionamento.model;
public class Carro {
 
 private Integer id;
 private String placa, marca, cor;
 private Integer horaEntrada, horaSaida;
 
 public Carro() {
 }
 public Carro(Integer id) {
 this.id = id;
 }
 public Carro(String placa) {
 this.placa = placa;
 }
 public Carro(Integer horaEntrada, Integer horaSaida) {
 this.horaEntrada = horaEntrada;
 this.horaSaida = horaSaida;
 }
 public Carro(String placa, String marca, String cor, Integer id, Integer horaEntrada, Integer horaSaida) {
 this.placa = placa;
 this.marca = marca;
 this.cor = cor;
 this.id = id;
 this.horaEntrada = horaEntrada;
 this.horaSaida = horaSaida;
 }
 
 
 public String getPlaca() {
 return placa;
 }
 public void setPlaca(String placa) {
 this.placa = placa;
 }
 public String getMarca() {
 return marca;
 }
 public void setMarca(String marca) {
 this.marca = marca;
 }
 public String getCor() {
 return cor;
 }
 public void setCor(String cor) {
 this.cor = cor;
 }
 public Integer getId() {
 return id;
 }
 public void setId(Integer id) {
 this.id = id;
 }
 public Integer getHoraEntrada() {
 return horaEntrada;
 }
 public void setHoraEntrada(Integer horaEntrada) {
 this.horaEntrada = horaEntrada;
 }
 public Integer getHoraSaida() {
 return horaSaida;
 }
 public void setHoraSaida(Integer horaSaida) {
 this.horaSaida = horaSaida;
 }
 
}
CAPTURA DE TELA COM OS TESTES
Teste 1:
Teste 2: 
Bibliografia
· Curso em Vídeo: POO JAVA
· Netbeans
· EBOOK Disciplina POO2

Continue navegando