Buscar

Criando um aplicação simples com JAVA e MySQL usando NetBeans - Parte II

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 33 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 33 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 33 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

Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
Tutorial elaborado pelo professor 
José Gonçalo dos Santos 
 
Contato: jose.goncalo.santos@gmail.com 
 
 
 
 
 
 
 
 
 
Criando um aplicação simples com JAVA e 
MySQL usando NetBeans – Parte II 
 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
Introdução 
 
Para acompanhar este tutorial é recomendável que você tenha seguido todas as etapas da 
primeira parte deste que se encontra em: http://www.pusivus.com.br na seção de tutoriais. 
Supondo que você tenha acompanhado a primeira parte deste tutorial, você já deve ter um 
banco de dados (MySQL) chamado estacionamento com uma tabela chamada carro e as 
seguintes classes: CarroBean, CarroDAO e Conexao. Com isso, só precisamos agora criar a 
interface e empacotar a nossa aplicação. Para realizar este trabalho, este tutorial está dividido 
em duas etapas, a primeira é a criação da interface para comunicação com o usuário e 
segunda, a criação do arquivo .jar. Cada etapa foi dividida em passos, siga-os. 
 
1 – Crie um formulário dentro do pacote criado na parte I deste tutorial. Para isso, click com o 
botão direito sobre o pacote e escolha novo->formulário JFrame, em seguida preencha o nome 
do formulário conforme figura abaixo e click em finalizar. 
 
Feito isso, você verá o ambiente sofreu mudanças, novas componentes aparecem agora, 
conforme pode ser observado na figura abaixo. Como se pode ver, temos um formulário pronto 
para ser modelado de acordo com o nosso desejo e necessidade. 
Nesse formulário você pode colocar qualquer um dos componentes (botão, rótulo, painel,..) da 
paleta que se encontra à direita acima. Para fazer isso, basta clicar, arrastar e soltar o 
componente dentro do formulário. Você também tem as propriedades dos componentes, que 
podem ser alterados, em foco (selecionado), à direita abaixo da paleta de componentes. Além 
disso, você pode alternar entre o modo desenho e o módo código-fonte, bastando, para isso, 
selecionar uma das opções. Click em “código-fonte”, você verá que já existe algum código 
gerado automaticamente. 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
2 – Já que temos o nosso formulário, vamos colocar os componentes necessários para 
manutenção do nosso banco de dados, ou seja, colocaremos os componentes de entrada de 
dados, botões, e uma tabela para exibir dados de pesquisa. 
Então, vamos começar a desenhar o nossa tela. 
a) Procure o componente Panel na paleta de componente, click nele e o arraste para o 
formulário, redimensione-o de maneira que como uma faixa superior no formulário. Mude a 
propriedade “background” para a cor branca. Para isso, localize a propriedade 
 e click no botão ao lado. O seu formulário deve 
se parecer com a figura abaixo. 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
b) Coloque um componente Rótulo (Label) dentro do componente Panel que você acaba 
de colocar no formulário e mude as propriedades text (escreva Cadastramento de 
veículos) e font (a fonte e o tamanho desejado e click em OK). Você pode acessar as 
propriedades dos componentes clicando com o botão direito sobre eles e selecionando 
propriedades, uma janela como a figura abaixo aparecerá. Para mudar a cor da fonte, 
acesse a propriedade “foreground”. 
 
 
Até aqui, a sua tela deverá estar como a da figura abaixo. 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
c) Coloque outro Panel, logo abaixo do anterior e mude a propriedade “background” para 
uma cor diferente da que foi colocada no primeiro, como mostra a figura abaixo. 
 
d) Coloque quatro rótulos no segundo Panel e mude a propridade text deles para ficar 
como mostra a figura abaixo. 
 
Para o quarto rótulo, precisamos mudar seu nome interno, ou seja, o nome ao qual iremos nos 
referir a ele. É neste rótulo que colocaremos as mensagens devolvidas pela classe CarroDAO, 
por isso precisamos dar um nome que nos seja familiar (em vez JLabel5). Para isso, click com 
o botão direito do mouse sobre o rótulo “Mensagem” e click na opção “Alterar nome da 
variável”; coloque o nome lblMensagem, conforme figura abaixo, e click em OK. Procure 
colocar os nomes dos componentes com 3 letras iniciais que lembrem do que se trata. 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
e) Coloque 3 componentes “Caixa de texto” e mude as propriedades text de todos para 
vazio, ou seja, limpe o texto que estiver lá (conforme figura abaixo). Altere o nome da 
variável (da mesma forma como foi feito com o rótulo “Mensagem”) de cada um da 
seguinte forma: o primeiro deverá se chamar txtPlaca, o segundo, txtCor e o terceiro, 
txtDescricao. 
 
 
Alterne para o código-fonte (click em “código-fonte”) e você verá que os seus componentes já 
estão com os nomes que você colocou, como pode visto na figura abaixo. Não é possível 
alterar qualquer valor na parte cinza do código. 
 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
f) Coloque um novo Panel abaixo do segundo, mude seu “background” para a mesma cor 
do segundo e coloque 6 botões, muda a propriedade text deles, conforme mostra a 
figura abaixo. Mude também o nome interno (botão direito sobre ele, escolher “Mudar 
nome da variável”, colocar o nome e clicar em OK) deles para btnIncluir, btnAlterar, 
btnExcluir, btnPesquisar, btnLimpar e btnFechar, conforme a ordem que aparece na 
figura. 
 
g) Vamos colocar agora uma tabela para exibir os dados quando clicarmos em 
“Pesquisar”. Para isso, coloque um componente Panel, mude a cor do seu background 
para a mesma do último colocado no formulário, coloque um componente Tabela 
nesse Panel, conforme mostra figura abaixo. 
 
Como se pode observar, a tabela já vem pré-definida com 4 linhas e 4 colunas, mas isso para 
nós não serve porque precisamos de 3 colunas e o número de linha não sabemos, pois 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
dependerá da quantidade de linhas que a consulta retornará. Por isso, vamos configurar a 
tabela para ficar do jeito que queremos, ou seja, com 3 colunas, nenhuma linha 
(acrescentaremos as linhas dinamicamente). Para isso siga o procedimento abaixo. 
g1) click com o botão direito do mouse sobre a tabela e selecione “Conteúdo da tabela”, com 
isso, a caixa de diálogo da figura abaixo irá aparecer. 
 
g2) Deixe marcada a opção “Especificado pelo usuário” e selecione a aba “Colunas”. Selecione 
a última linha e click em excluir, mude os títulos das três linhas restantes, mude o tipo e 
desmarque os checkbox (conforme figura abaixo) porque não queremos que ela seja editável e 
nem redimensionda pelo usuário, pois nosso objetivo é usá-la apenas para exibir dados. 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
g3) Selecione a aba “Linhas”, selecione todas as linhas, conforme figura abaixo, e click em 
excluir, com isso, temos uma tabela com três colunas e zero linha. 
 
g4) Agora só precisamos mudar o nome da tabela, botão direito -> Alterar nome da variável, 
coloque tblConsulta. A sua tela deverá estar parecida com a figura abaixo. Para que ela não 
seja redimensionável, e estrague seu desenho, desmarque a propriedade “resizeble”. 
 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
Agora que temos no tela pronta, podemos dar funcionalidade aos botões. 
Botão fechar 
Vamos começar com o botão fechar, porém, as explicações iniciais servem para todos os 
outros. Para colocar funcionalidade em um componente “botão” temos várias formas, mas por 
questão de simplicidade colocaremos a funcionalidade quando o usuário clicar com o botão 
esquerdo do mouse sobreele. Para fazer isso, siga o procedimento abaixo. 
Selecione a paleta evento (com o foco no botão “Fechar”, ou seja, dê um click simples – não dê 
duplo click), abaixo de propriedade, busque pelo evento mouseClicked, selecione a primeira 
opção da lista e dê um click. Com isso, você será direcionado para dentro do evento poderá 
colocar seu código. 
 
O evento gerado é apresentado abaixo, o código em vermelho deverá ser colocado por você. 
Observe que o código que precisamos acrescentar para fechar a janela se resume em apenas 
uma linha. 
private void btnFecharMouseClicked(java.awt.event.MouseEvent evt) { 
 System.exit(0); 
 } 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
Botão Limpar 
Crie um evento para o click do mouse, como foi feito para o botão anterior. 
Na seção de importação, coloque o seguinte import : import javax.swing.table.*; 
Vamos usar a classe DefaultTableModel desse pacote para redimensionarmos a nossa tabela. 
Como iremos inserir linhas de forma dinâmica na tabela, quando clicarmos no botão limpar, 
iremos eliminar todas as linhas da tabela. 
O código em vermelho deverá ser acrescentado. 
As quatro primeiras linhas estão atribuindo valor vazio para as caixas de texto, bem assim o 
rótulo de mensagem. 
A linha seguinte atribui o modelo do nosso objeto JTable para um objeto do tipo 
DefaultTableModel para que possamos utilizar os métodos de remoção de linhas e outros 
necessários manipulação da tabela. Cabe observar que tbm é um objeto da classe 
DefaultTableModel por isso para que ele tenha acesso ao método getModel do nosso 
objeto JTable, foi necessário criar um cast 
((DefaultTableModel)tblConsulta.getModel()). 
O comando for percorre a tabela desde a última linha (tbm.getRowCount()-1) até a primeira 
(zero) e remove todas elas. Cabe dizer que essa não é a única maneira de se fazer, é uma das 
maneiras de se fazer. 
private void LimparMouseClicked(java.awt.event.MouseEvent evt) { 
 txtPlaca.setText(""); 
 txtCor.setText(""); 
 txtDescricao.setText(""); 
 lblMensagem.setText(""); 
 
 DefaultTableModel tbm = 
(DefaultTableModel)tblConsulta.getModel(); 
 for(int i = tbm.getRowCount()-1; i >= 0; i--){ 
 tbm.removeRow(i); 
 } 
 } 
 
Botão Inserir 
Para que nosso código colocado no método do botão inserir funcione, é necessário fazer a 
importação do pacote sql do java. Para isso, acrescente o código import java.sql.*; na 
seção de importação (logo abaixo de package). 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
Vemos, a seguir, o método de inserção onde muitos dos códigos você já está familiarizado com 
eles. Dessa forma, só serão explicadas as novidades. O código em vermelho deverá ser 
acrescentado. 
Na primeira linha estamos abrindo uma conexão. 
Na segunda estamos criando um objeto da classe CarroBean. 
Na terceira estamos criando um objeto da classe CarroDAO. 
Nas três linhas seguintes estamos atribuindo os valores aos atributos da classe CarroBean. 
Para pegar o valor que se encontram nos componentes, usamos o método getText e para 
atribuir valor para esses, usamos o método setText. Esses componentes só trabalham com 
objetos String, por isso quando tivermos campos do Integer, precisaremos converter os valores 
– de String para Integer, usa-se Integer.parseInt(String a converter) e de Integer para String, 
usa-se valorInteger.toString(). 
Na penúltima linha é que estamos fazendo a inclusão e exibindo a mensagem de retorno, na 
lblMensagem, ao mesmo tempo. 
Na última linha estamos fechando a conexão. 
private void btnIncluirMouseClicked(java.awt.event.MouseEvent evt) { 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 
 cb.setPlaca(txtPlaca.getText()); 
 cb.setCor(txtCor.getText()); 
 cb.setDescricao(txtDescricao.getText()); 
 
 lblMensagem.setText(cd.inserir(cb)); 
 Conexao.fecharConexao(con); 
 } 
 
Botão pesquisar 
Para o botão pesquisar, precisamos importar o pacote útil do java. Acrescente o código import 
java.util.*; na seção de importação (logo abaixo de package). O código em vermelho 
deverá ser acrescentado. 
 
Na primeira linha estamos abrindo uma conexão. 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
Na segunda estamos criando um objeto da classe CarroDAO. 
Na terceira linha criamos uma lista de carros para receber o retorno do método listarTodos. 
Na quarta linha estamos executando o método listarTodos e atribuindo o seu retorno à lista de 
carros. 
Na quinta linha criamos um objeto do tipo DefaultTableModel. 
O primeiro for serve para zerar as linhas da tabela para acrescentarmos o resultado da nossa 
pesquisa. 
O segundo for é para pegarmos os objetos da lista de carros para colocarmos na tabela. 
A primeira linha dentro do segundo for adiciona uma linha à tabela e os comandos seguintes 
adicionam os dados em cada célula da tabela, de acordo com o campo da tabela física. 
Observe que o i corresponde ao número de linhas que retornaram da pesquisa e 0,1 e 2 são as 
colunas da tabela. 
private void btnPesquisarMouseClicked(java.awt.event.MouseEvent evt) { 
 Connection con = Conexao.abrirConexao(); 
 CarroDAO cd = new CarroDAO(con); 
 List<CarroBean> listaCarro = new ArrayList<CarroBean>(); 
 listaCarro = cd.listarTodos(); 
 DefaultTableModel tbm = 
(DefaultTableModel)tblConsulta.getModel(); 
 for(int i = tbm.getRowCount()-1; i >= 0; i--){ 
 tbm.removeRow(i); 
 } 
 int i = 0; 
 for(CarroBean cb : listaCarro){ 
 tbm.addRow(new String[1]); 
 tblConsulta.setValueAt(cb.getPlaca(), i, 0); 
 tblConsulta.setValueAt(cb.getCor(), i, 1); 
 tblConsulta.setValueAt(cb.getDescricao(), i, 2); 
 i++; 
 } 
 Conexao.fecharConexao(con); 
 } 
A figura a seguir mostra o resultado da pesquisa. 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
Feita a pesquisa queremos que o usuário possa escolher o registro que deseja alterar ou 
excluir. Para isso precisamos capturar a linha que ele selecionou. Para isso, vamos criar um 
método para o click do mouse na tabela, o procedimento é o mesmo feito para os botões. O 
código em vermelho deverá ser acrescentado. 
Na primeira linha estamos capturando a linha que o usuário clicou. 
Na segunda, terceira e quarta linha estamos pegando o valor de cada célula da tabela, que 
corresponde a cada atributo da classe carro. O cast é necessário porque o objeto JTable 
retorna um objeto e nós precisamos de uma String para passar para os campos de texto. 
Na quarta, quinta e sexta linha estamos atribuindo o valor para os campos de texto do 
formulário. 
O resultado é mostrado na figura a seguir. Como pode ser observado, os dados da linha 
selecionada pelo usuário são transferidos para os campos do formulário. 
private void tblConsultaMouseClicked(java.awt.event.MouseEvent evt) { 
 Integer linha = tblConsulta.getSelectedRow(); 
 String placa = (String)tblConsulta.getValueAt(linha, 0); 
 String cor = (String)tblConsulta.getValueAt(linha, 1); 
 String descricao = (String)tblConsulta.getValueAt(linha, 2); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 txtPlaca.setText(placa); 
 txtCor.setText(cor); 
 txtDescricao.setText(descricao); 
 } 
 
 
 
Botão Alterar 
O botão alterar é semelhante ao botão incluir, por isso cabe as mesmas explicações. O código 
emvermelho deverá ser acrescentado. 
private void btnAlterarMouseClicked(java.awt.event.MouseEvent evt) { 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 cb.setPlaca(txtPlaca.getText()); 
 cb.setCor(txtCor.getText()); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 cb.setDescricao(txtDescricao.getText()); 
 lblMensagem.setText(cd.alterar(cb)); 
 Conexao.fecharConexao(con); 
 } 
 
Botão excluir 
O botão excluir é semelhante ao botão incluir, por isso cabe as mesmas explicações, exceto no 
uso do JOptionPane que será explicado a seguir. O código em vermelho deverá ser 
acrescentado. 
Precisamos acrescentar a importação do JOptionPane na seção de import. 
import javax.swing.JOptionPane; 
A linha Object[] opcoes = { "Sim", "Não" }; cria um vetor de objetos para 
trocarmos o yes e no pelo sim e não. O objetivo é perguntar ao usuário se ele deseja realmente 
excluir o registro. 
O método showOptionDialog do JOptionPane é sobrecarregado de forma que possua 
várias implementações e uma delas é a que estamos usando neste exemplo, que contém 7 
argumentos. 
O primeiro é nome da classe pai, ou seja, para qual janela eu pretendo associar o a caixa de 
diálogo, se deixarmos nulo, ele exibe a caixa no meio da tela. Os demais atributos podem ser 
visto quando ele estiver funcionando. 
private void btnExcluirMouseClicked(java.awt.event.MouseEvent evt) { 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 cb.setPlaca(txtPlaca.getText()); 
 Object[] opcoes = { "Sim", "Não" }; 
 int i = JOptionPane.showOptionDialog(null, 
 "Deseja excluir esse veículo: 
"+txtPlaca.getText()+"?", "Exclusão", 
 JOptionPane.YES_NO_OPTION, 
JOptionPane.QUESTION_MESSAGE, null, 
 opcoes, opcoes[0]); 
 if (i == JOptionPane.YES_OPTION) { 
 lblMensagem.setText(cd.excluir(cb)); 
 } 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 Conexao.fecharConexao(con); 
 } 
O código completo é apresentado no fim do tutorial. 
 
Criando um pacote de distribuição 
Até agora nós executamos nosso aplicativo dentro do ambiente do netbeans, mas se 
quisermos distribuir esse aplicativo, como faremos? Bom, para isso, podemos criar um pacote 
executável (.jar) e executá-lo em qualquer máquina que tenha a JVM. Mas, lembre-se de que é 
necessário levar o banco de dados também. Para criar um pacote de distribuição siga os 
passos apresentados abaixo. 
1 - Exclua a classe Main.java (botão direito sobre selecione a opção “Excluir”). Ao aparecer a 
janela abaixo, click em exclusão segura e click em Refatorar. 
 
 
2 - Troque o nome da classe FrmCarro para Main (botão direito sobre ela escolha refatorar-
>renomear). Preencha os campos conforme figura abaixo e click em refatorar. 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 
3 - Teste a aplicação (F6 – executar projeto principal). Se estiver funcionando perfeitamente, 
siga em frente. 
4 – Selecione o projeto (Estacionamento) e no menu principal escolha Executar->Limpar e 
Construir Projeto Principal ou Shift+F11. Espere o processo ser construído. 
5 – Abra a pasta em que você criou o seu projeto e procure o diretório dist. Você deverá ter as 
pastas mostradas na figura abaixo. Dentro da pasta lib está o conector do MySQL. 
 
6 – Dê duplo click no arquivo Estacionamento.jar e você verá que o seu aplicativo funciona 
como funcionava no ambiente do netbeans. 
 
 
Considerações finais 
Assim nós encerramos a segunda parte do tutorial. Creio que isto serve como ponta-pé inicial 
para desenvolvimento de aplicação java para desktop. Na parte III do tutorial iniciaremos o 
desenvolvimento de aplicações para web. 
 
Código Completo 
O código completo é colocado a seguir. 
package psv; 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
import javax.swing.table.*; 
import java.sql.*; 
import java.util.*; 
import javax.swing.JOptionPane; 
public class FrmCarro extends javax.swing.JFrame { 
 /** Creates new form FrmCarro */ 
 public FrmCarro() { 
 initComponents(); 
 } 
 @SuppressWarnings("unchecked") 
 // <editor-fold defaultstate="collapsed" desc="Generated Code"> 
 private void initComponents() { 
 
 jPanel1 = new javax.swing.JPanel(); 
 jLabel1 = new javax.swing.JLabel(); 
 jPanel2 = new javax.swing.JPanel(); 
 jLabel2 = new javax.swing.JLabel(); 
 txtPlaca = new javax.swing.JTextField(); 
 jLabel3 = new javax.swing.JLabel(); 
 txtCor = new javax.swing.JTextField(); 
 jLabel4 = new javax.swing.JLabel(); 
 txtDescricao = new javax.swing.JTextField(); 
 lblMensagem = new javax.swing.JLabel(); 
 jPanel3 = new javax.swing.JPanel(); 
 btnIncluir = new javax.swing.JButton(); 
 btnAlterar = new javax.swing.JButton(); 
 btnExcluir = new javax.swing.JButton(); 
 btnPesquisar = new javax.swing.JButton(); 
 Limpar = new javax.swing.JButton(); 
 btnFechar = new javax.swing.JButton(); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 jPanel4 = new javax.swing.JPanel(); 
 jScrollPane1 = new javax.swing.JScrollPane(); 
 tblConsulta = new javax.swing.JTable(); 
 
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 
 setResizable(false); 
 jPanel1.setBackground(new java.awt.Color(255, 255, 255)); 
 jLabel1.setFont(new java.awt.Font("Arial Black", 0, 20)); 
 jLabel1.setForeground(new java.awt.Color(204, 102, 0)); 
 jLabel1.setText("Cadastramento de veículos"); 
 javax.swing.GroupLayout jPanel1Layout = new 
javax.swing.GroupLayout(jPanel1); 
 jPanel1.setLayout(jPanel1Layout); 
 jPanel1Layout.setHorizontalGroup( 
 
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel1Layout.createSequentialGroup() 
 .addGap(86, 86, 86) 
 .addComponent(jLabel1) 
 .addContainerGap(114, Short.MAX_VALUE)) 
 ); 
 jPanel1Layout.setVerticalGroup( 
 
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel1Layout.createSequentialGroup() 
 .addComponent(jLabel1) 
 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, 
Short.MAX_VALUE)) 
 ); 
 
 jPanel2.setBackground(new java.awt.Color(204, 204, 204)); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 jLabel2.setText("Placa"); 
 jLabel3.setText("Cor"); 
 jLabel4.setText("Descrição"); 
 lblMensagem.setFont(new java.awt.Font("Arial Black", 0, 14)); 
 lblMensagem.setForeground(new java.awt.Color(255, 102, 102)); 
 jPanel3.setBackground(new java.awt.Color(204, 204, 204)); 
 btnIncluir.setText("Incluir"); 
 btnIncluir.addMouseListener(new java.awt.event.MouseAdapter() 
{ 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 btnIncluirMouseClicked(evt); 
 } 
 }); 
 btnAlterar.setText("Alterar"); 
 btnAlterar.addMouseListener(new java.awt.event.MouseAdapter() 
{ 
 public void mouseClicked(java.awt.event.MouseEvent evt){ 
 btnAlterarMouseClicked(evt); 
 } 
 }); 
 
 btnExcluir.setText("Excluir"); 
 btnExcluir.addMouseListener(new java.awt.event.MouseAdapter() 
{ 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 btnExcluirMouseClicked(evt); 
 } 
 }); 
 
 btnPesquisar.setText("Pesquisar"); 
 btnPesquisar.addMouseListener(new 
java.awt.event.MouseAdapter() { 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 btnPesquisarMouseClicked(evt); 
 } 
 }); 
 
 Limpar.setText("Limpar"); 
 Limpar.addMouseListener(new java.awt.event.MouseAdapter() { 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 LimparMouseClicked(evt); 
 } 
 }); 
 
 btnFechar.setText("Fechar"); 
 btnFechar.addMouseListener(new java.awt.event.MouseAdapter() { 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 btnFecharMouseClicked(evt); 
 } 
 }); 
 
 javax.swing.GroupLayout jPanel3Layout = new 
javax.swing.GroupLayout(jPanel3); 
 jPanel3.setLayout(jPanel3Layout); 
 jPanel3Layout.setHorizontalGroup( 
 
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel3Layout.createSequentialGroup() 
 .addComponent(btnIncluir) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
 .addComponent(btnAlterar) 
 .addGap(18, 18, 18) 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 .addComponent(btnExcluir) 
 .addGap(18, 18, 18) 
 .addComponent(btnPesquisar) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 
16, Short.MAX_VALUE) 
 .addComponent(Limpar) 
 .addGap(18, 18, 18) 
 .addComponent(btnFechar) 
 .addContainerGap()) 
 ); 
 jPanel3Layout.setVerticalGroup( 
 
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel3Layout.createSequentialGroup() 
 
.addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) 
 .addComponent(btnIncluir) 
 .addComponent(btnAlterar) 
 .addComponent(btnExcluir) 
 .addComponent(btnPesquisar) 
 .addComponent(btnFechar) 
 .addComponent(Limpar)) 
 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, 
Short.MAX_VALUE)) 
 ); 
 
 jPanel4.setBackground(new java.awt.Color(204, 204, 204)); 
 
 tblConsulta.setModel(new javax.swing.table.DefaultTableModel( 
 new Object [][] { 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 }, 
 new String [] { 
 "Placa", "Cor", "Descrição" 
 } 
 ) { 
 Class[] types = new Class [] { 
 java.lang.String.class, java.lang.String.class, 
java.lang.String.class 
 }; 
 boolean[] canEdit = new boolean [] { 
 false, false, false 
 }; 
 
 public Class getColumnClass(int columnIndex) { 
 return types [columnIndex]; 
 } 
 
 public boolean isCellEditable(int rowIndex, int 
columnIndex) { 
 return canEdit [columnIndex]; 
 } 
 }); 
 tblConsulta.addMouseListener(new java.awt.event.MouseAdapter() 
{ 
 public void mouseClicked(java.awt.event.MouseEvent evt) { 
 tblConsultaMouseClicked(evt); 
 } 
 }); 
 jScrollPane1.setViewportView(tblConsulta); 
 tblConsulta.getColumnModel().getColumn(0).setResizable(false); 
 tblConsulta.getColumnModel().getColumn(1).setResizable(false); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 tblConsulta.getColumnModel().getColumn(2).setResizable(false); 
 
 javax.swing.GroupLayout jPanel4Layout = new 
javax.swing.GroupLayout(jPanel4); 
 jPanel4.setLayout(jPanel4Layout); 
 jPanel4Layout.setHorizontalGroup( 
 
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addComponent(jScrollPane1, 
javax.swing.GroupLayout.DEFAULT_SIZE, 496, Short.MAX_VALUE) 
 ); 
 jPanel4Layout.setVerticalGroup( 
 
jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel4Layout.createSequentialGroup() 
 .addContainerGap() 
 .addComponent(jScrollPane1, 
javax.swing.GroupLayout.PREFERRED_SIZE, 236, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 .addContainerGap(62, Short.MAX_VALUE)) 
 ); 
 
 javax.swing.GroupLayout jPanel2Layout = new 
javax.swing.GroupLayout(jPanel2); 
 jPanel2.setLayout(jPanel2Layout); 
 jPanel2Layout.setHorizontalGroup( 
 
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel2Layout.createSequentialGroup() 
 .addContainerGap() 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING) 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 .addGroup(jPanel2Layout.createSequentialGroup() 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING) 
 .addComponent(lblMensagem, 
javax.swing.GroupLayout.DEFAULT_SIZE, 476, Short.MAX_VALUE) 
 
.addGroup(jPanel2Layout.createSequentialGroup() 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING) 
 .addComponent(jLabel4) 
 .addComponent(jLabel3) 
 .addComponent(jLabel2)) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.LEADING) 
 .addComponent(txtPlaca, 
javax.swing.GroupLayout.PREFERRED_SIZE, 123, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 .addComponent(txtCor, 
javax.swing.GroupLayout.PREFERRED_SIZE, 205, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 .addComponent(txtDescricao, 
javax.swing.GroupLayout.DEFAULT_SIZE, 426, Short.MAX_VALUE)))) 
 .addContainerGap()) 
 .addComponent(jPanel3, 
javax.swing.GroupLayout.Alignment.TRAILING, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))) 
 .addComponent(jPanel4, 
javax.swing.GroupLayout.Alignment.TRAILING, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
 ); 
 jPanel2Layout.setVerticalGroup( 
 
Copyright 2011 © www.pusivus.com.br, Todosos Direitos Reservados. 
 
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LE
ADING) 
 .addGroup(jPanel2Layout.createSequentialGroup() 
 .addContainerGap() 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) 
 .addComponent(jLabel2) 
 .addComponent(txtPlaca, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) 
 .addComponent(jLabel3) 
 .addComponent(txtCor, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)) 
 .addGap(17, 17, 17) 
 
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Al
ignment.BASELINE) 
 .addComponent(jLabel4) 
 .addComponent(txtDescricao, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE)) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
 .addComponent(lblMensagem) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
 .addComponent(jPanel3, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) 
 .addComponent(jPanel4, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 .addGap(162, 162, 162)) 
 ); 
 
 javax.swing.GroupLayout layout = new 
javax.swing.GroupLayout(getContentPane()); 
 getContentPane().setLayout(layout); 
 layout.setHorizontalGroup( 
 
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
 .addComponent(jPanel1, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
 .addComponent(jPanel2, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
 ); 
 layout.setVerticalGroup( 
 
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
 .addGroup(layout.createSequentialGroup() 
 .addComponent(jPanel1, 
javax.swing.GroupLayout.PREFERRED_SIZE, 
javax.swing.GroupLayout.DEFAULT_SIZE, 
javax.swing.GroupLayout.PREFERRED_SIZE) 
 
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) 
 .addComponent(jPanel2, 
javax.swing.GroupLayout.PREFERRED_SIZE, 405, 
javax.swing.GroupLayout.PREFERRED_SIZE)) 
 ); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 pack(); 
 }// </editor-fold> 
 
 private void LimparMouseClicked(java.awt.event.MouseEvent evt) { 
 txtPlaca.setText(""); 
 txtCor.setText(""); 
 txtDescricao.setText(""); 
 lblMensagem.setText(""); 
 
 DefaultTableModel tbm = 
(DefaultTableModel)tblConsulta.getModel(); 
 for(int i = tbm.getRowCount()-1; i >= 0; i--){ 
 tbm.removeRow(i); 
 } 
 
 } 
 
 private void btnFecharMouseClicked(java.awt.event.MouseEvent evt) 
{ 
 System.exit(0); 
 } 
 
 private void btnIncluirMouseClicked(java.awt.event.MouseEvent evt) 
{ 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 
 cb.setPlaca(txtPlaca.getText()); 
 cb.setCor(txtCor.getText()); 
 cb.setDescricao(txtDescricao.getText()); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 lblMensagem.setText(cd.inserir(cb)); 
 
 Conexao.fecharConexao(con); 
 } 
 
 private void btnPesquisarMouseClicked(java.awt.event.MouseEvent 
evt) { 
 Connection con = Conexao.abrirConexao(); 
 CarroDAO cd = new CarroDAO(con); 
 
 List<CarroBean> listaCarro = new ArrayList<CarroBean>(); 
 
 listaCarro = cd.listarTodos(); 
 
 DefaultTableModel tbm = 
(DefaultTableModel)tblConsulta.getModel(); 
 
 for(int i = tbm.getRowCount()-1; i >= 0; i--){ 
 tbm.removeRow(i); 
 } 
 
 int i = 0; 
 
 for(CarroBean cb : listaCarro){ 
 tbm.addRow(new String[1]); 
 
 tblConsulta.setValueAt(cb.getPlaca(), i, 0); 
 tblConsulta.setValueAt(cb.getCor(), i, 1); 
 tblConsulta.setValueAt(cb.getDescricao(), i, 2); 
 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 i++; 
 } 
 
 Conexao.fecharConexao(con); 
 
 } 
 
 private void tblConsultaMouseClicked(java.awt.event.MouseEvent 
evt) { 
 Integer linha = tblConsulta.getSelectedRow(); 
 
 String placa = (String)tblConsulta.getValueAt(linha, 0); 
 String cor = (String)tblConsulta.getValueAt(linha, 1); 
 String descricao = (String)tblConsulta.getValueAt(linha, 2); 
 
 txtPlaca.setText(placa); 
 txtCor.setText(cor); 
 txtDescricao.setText(descricao); 
 } 
 
 private void btnAlterarMouseClicked(java.awt.event.MouseEvent evt) 
{ 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 
 cb.setPlaca(txtPlaca.getText()); 
 cb.setCor(txtCor.getText()); 
 cb.setDescricao(txtDescricao.getText()); 
 
 lblMensagem.setText(cd.alterar(cb)); 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 
 Conexao.fecharConexao(con); 
 } 
 
 private void btnExcluirMouseClicked(java.awt.event.MouseEvent evt) 
{ 
 
 Connection con = Conexao.abrirConexao(); 
 CarroBean cb = new CarroBean(); 
 CarroDAO cd = new CarroDAO(con); 
 
 cb.setPlaca(txtPlaca.getText()); 
 
 Object[] opcoes = { "Sim", "Não" }; 
 int i = JOptionPane.showOptionDialog(null, 
 "Deseja excluir esse veículo: 
"+txtPlaca.getText()+"?", "Exclusão", 
 JOptionPane.YES_NO_OPTION, 
JOptionPane.QUESTION_MESSAGE, null, 
 opcoes, opcoes[0]); 
 
 if (i == JOptionPane.YES_OPTION) { 
 lblMensagem.setText(cd.excluir(cb)); 
 } 
 
 
 Conexao.fecharConexao(con); 
 
 } 
 
 public static void main(Stringargs[]) { 
 java.awt.EventQueue.invokeLater(new Runnable() { 
 
Copyright 2011 © www.pusivus.com.br, Todos os Direitos Reservados. 
 public void run() { 
 new FrmCarro().setVisible(true); 
 } 
 }); 
 } 
 
 // Variables declaration - do not modify 
 private javax.swing.JButton Limpar; 
 private javax.swing.JButton btnAlterar; 
 private javax.swing.JButton btnExcluir; 
 private javax.swing.JButton btnFechar; 
 private javax.swing.JButton btnIncluir; 
 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.JPanel jPanel1; 
 private javax.swing.JPanel jPanel2; 
 private javax.swing.JPanel jPanel3; 
 private javax.swing.JPanel jPanel4; 
 private javax.swing.JScrollPane jScrollPane1; 
 private javax.swing.JLabel lblMensagem; 
 private javax.swing.JTable tblConsulta; 
 private javax.swing.JTextField txtCor; 
 private javax.swing.JTextField txtDescricao; 
 private javax.swing.JTextField txtPlaca; 
 // End of variables declaration 
 
}

Continue navegando