Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Técnicas de 
Programação II
MATERIAL TEÓRICO
UNIDADE 3
Autoria:
Prof. Me. Hugo Fernandes
Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da 
Costa Granadeiro
Desenvolvendo uma Tela 
de Pesquisa com JTable
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Conserve seu 
material e local 
de estudos sempre 
organizados.
Procure manter contato 
com seus colegas e tutores 
para trocar ideias! Isso 
amplia a aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
Determine 
um horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na 
sua formação acadêmica e atuação profissional, siga algumas recomendações básicas:
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que 
uma alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, 
vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, 
você também encontrará sugestões de conteúdo extra no item Material Complementar, que 
ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de 
discussão, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de 
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca 
de ideias e de aprendizagem.
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Objetivos
• Desenvolver uma tela de 
pesquisa ao banco de dados, 
utilizando um componente da 
API SWING chamado JTable.
Desenvolvendo uma 
Tela de Pesquisa com 
JTable
Nesta unidade, iremos desenvolver uma tela de 
pesquisa ao banco de dados utilizando componen-
tes da API SWING. Para isso, iremos utilizar a base de 
dados que manipulamos na unidade anterior.
Diferentemente de exemplos anteriores, iremos 
utilizar agora um componente da API SWING cha-
mado JTable. Utilizamos esse componente para exi-
bir dados em formato bidimensionais, ou seja, dados 
organizados em linhas e colunas, bem semelhante a 
uma planilha.
EXPLORE
Estruturas de dados multimensional: 
https://goo.gl/FLk1Vm.
O objetivo da tela que iremos desenvolver nesta 
unidade é pesquisar dados da tabela curso, com pos-
sibilidade de filtro por nome do curso e exibir o resul-
tado em uma tabela.
Para seguirmos adiante, destacamos que, para 
nossa aplicação poder se conectar corretamente ao 
banco de dados, o serviço do MySQL deve estar ATI-
VO. Para ativá-lo, basta acessar a pasta onde o pro-
grama Uniform Server foi extraído e clicar no arqui-
vo UniController.
Ative o serviço MySQL clicando no botão Start MySQL. 
Se o serviço for inicializado com sucesso, o quadro ao 
lado do botão ficará verde.
6
Figura 1 – Ativando o serviço de banco de dados
Em seguida, minimize o programa, pois isso fará com que ele vá para a bandeja 
do Windows. Com o serviço MySQL ativo em nosso computador, podemos começar 
o nosso passo a passo para desenvolver nossa tela de pesquisa.
Passo 1: Criando o Form e 
adicionando os componentes 
visuais da tela de Pesquisa
Abra o NetBeans, e acesse o projeto Java criado na unidade de estudo anterior 
(APPSelect). Clique no nome do projeto com o botão direito do mouse e, em se-
guida, selecione a opção Novo/Form JFrame. Na tela seguinte, digite no campo 
“Nome da Classe”: PesquisaCurso. Em seguida, clique em Finalizar.
Figura 2 – Inserindo um novo Form ao projeto
7
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Em seguida, clique em qualquer lugar vazio do Frame com o botão direito do 
mouse e selecione a opção “Propriedades”.
Na aba Código, selecione a opção Gerar Código de redimensionamento no 
campo Política de Tamanho de Form e marque a opção do campo “Gerar Código 
de redimensionamento”.
Feito isso, clique no botão Fechar.
Figura 3 – Configurando redimensionamento do Form
De volta à tela de design, clique com o botão direito do mouse em cima do Frame 
e selecione a opção “Definir Layout/Layout Nulo”.
Figura 4 – Configurando o layout do Form
8
Agora arraste um Label e também um Campo de Texto para dentro do Form. 
Redimensione o Campo de Texto e altere seu nome de variável – para isso, clique 
com o botão direito do mouse sobre o campo de texto e escolha a opção “Alterar o 
Nome da Variável” e escreva: txtNmCurso.
Figura 5 – Alterando o nome da variável
Adicione também um botão ao Form. Redimensione o botão e altere seu texto 
para “Pesquisar” – para afazer isso, clique com o botão direito do mouse sobre o 
botão e escolha a opção Alterar Texto. Em seguida, altere o nome da variável para 
“btnPesquisar”.
Figura 6 – Alterando o nome do botão
Agora, iremos adicionar o componente JTable. Para isso, localize o componente 
Tabela e arraste para a parte inferior do Form.
9
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Figura 7 – Adicionando o componente JTable
Redimensione o componente arrastando pelas bordas.
Figura 8 – Redimensionando o componente JTable
Em seguida, clique com o botão direito do mouse sobre o JTable e selecione a 
opção “Conteúdo da tabela”.
10
Figura 9 – Redimensionando o componente JTable
Acesse a aba “Coluna” e exclua a quarta linha.
Figura 10 – Redimensionando o componente JTable
Ainda nessa aba, altere os valores de cada célula da coluna “Título”. Renomeie o 
valor “Title 1” para Sigla; “Title 2” para Nome e “Title 3” para Descricao. Perceba 
aqui que esses nomes são justamente os nomes das colunas em nossa tabela 
Curso no banco de dados. Ou seja, para que os dados sejam exibidos corretamente, 
devemos configurar para cada título o nome do campo da tabela do banco de dados 
que iremos exibir no componente JTable.
11
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Figura 11 – Renomeando as células de título
Feito isso, clique na aba “Linha”, selecione as 4 linhas existentes e as exclua. 
Figura 12 – Renomeando as células de título
O resultado de nossa organização gráfica dos componentes deve ser igual ao da 
imagem a seguir.
12
Figura 13 – Renomeando as células de título
Por fim, para concluirmos essa etapa, altere o nome de variável do componente 
JTable – para isso, clique com o botão direito do mouse sobre o campo de texto e 
escolha a opção “Alterar o Nome da Variável” e escreva: tblPesquisa.
Figura 14 – Renomeando o nome da variável
13
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Passo 2: Escrevendo o código 
de busca no banco de dados
Acesse a área do código-fonte e, logo no início da classe, digite o seguinte código:
import javax.swing.*;
import java.sql.*;
import javax.swing.table.DefaultTableModel;
Figura 15
Esse código importa as classes da javax.Swing, java.sql e do componente table.
Em seguida, logo abaixo da linha de código da construção da Classe Pesquisa-
Curso, escreva o seguinte código:
public ResultSet rs;
Connection conn;
Figura 16
14
Analisando esse código, na linha 19, criamos uma variável pública do tipo 
ResultSet. É por meio dessa variável que a aplicação irá receber e guardar em 
tempo de execução as informações vindas do banco de dados. Na linha 20, criamos 
uma variável do tipo Connection. É por meio dessa variável que iremos criar uma 
conexão entre a aplicação e o banco de dados. Estamos criando essas variáveis 
nesse ponto do código para podermos, desse modo, utilizar e compartilhar o valor 
contido nessas variáveis em todo o código. 
Nossa próxima tarefa será a criação de um método void para preencher 
nosso componente JTable. Esse método recebe como parâmetro uma string que 
utilizaremos para acondição da pesquisa SQL.
EXPLORE
O que são métodos, qual sua utilidade e quando usá-los: https://goo.gl/YQdLcY.
Logo abaixo do método public PesquisaCurso(), digite o seguinte código:
public void pesquisaCidade(String paramBusca) {
 String SQLpesqusa = “Select * from Curso” + paramBusca;
 Statement stmt;
 try {
 Class.forName(“com.mysql.jdbc.Driver”);
 conn = DriverManager.getConnection(“jdbc:mysql://
localhost/minhadb”,
 “root”, “root”);
 stmt = conn.createStatement(ResultSet.TYPE_
SCROLL_SENSITIVE,
 ResultSet.CONCUR_READ_ONLY);
 rs = stmt.executeQuery(SQLpesqusa);
 DefaultTableModel model = (DefaultTableModel) 
tblPesquisa.getModel();
 model.setNumRows(0);
 while (rs.next()) {
(cont.)
15
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
 model.addRow(new Object[]{
 //retorna os dados da tabela do BD, cada 
campo e um coluna.
 rs.getString(“Sigla”),
 rs.getString(“Nome”),
 rs.getString(“Descricao”)
 });
 }
 rs.close();
 } catch (ClassNotFoundException e) {
 System.out.println(e);
 } catch (SQLException e) {
 System.out.println(e);
 }
}
Figura 17
16
Analisando o Código
Linha 27 – Cria a assinatura do nosso método void. Nessa linha, indicamos o 
nome do método (PesquisaCidade) e definimos que o método terá um (1) parâme-
tro do tipo String.
Linha 29 – Cria uma variavél chamada SQLpesquisa na qual atribuímos o co-
mando SQL para busca de dados (select) e concatenamos com o valor que chega 
por meio do parâmetro do método.
Linha 30 – Cria uma variável do tipo Statement de nome stmt.
Linha 32 – Esse comando registra a Classe do Driver JDBC.
Linha 33 – Atribui à variável do tipo Connection, os parâmetros de endereço, 
usuário e a senha do banco de dados.
Linha 35 – Inicializa a variável Statement, é por meio dessa variável que exe-
cutaremos operações no banco de dados de atualização.
Linha 37 – Executa instrução SQL e atribui resultado a uma variável ResultSet.
Linha 38 – Cria um objeto do tipo DefaultTableModel com o nome de model e, 
na sequência, atribui o valor da propriedade model contido no componente JTable.
Linha 39 – Apaga todas as linhas do JTable.
Linha 41 – Inicia a estrutura de repetição While. A quantidade de repetições do 
While será igual à quantidade de LINHAS resultante da busca no banco de dados.
Linha 42 – Cria uma nova linha no JTable atribuindo um array do tipo objeto, 
cujo valores são descritos nas linhas 44, 45 e 46. 
Linha 49 – Encerra a variável Statement.
Linhas 51 e 53 – Caso ocorra alguma exceção, o sistema exibe o erro.
O próximo passo será criar um evento para o botão Pesquisar, para que, desse 
modo, ao clicar no botão, execute o método que acabamos de escrever. Para isso, 
dê duplo clique sobre o botão Pesquisar. Essa ação cria o método ActionPerformed. 
Feito isso, somos direcionados para a área de codificação. Digite o seguinte código:
 String SQLText = “”;
 if (txtNmCurso.getText() != null) {
 SQLText = “ where upper(nome) like ‘”
 + txtNmCurso.getText() + “%’”;
 }
 pesquisaCidade(SQLText);
 
17
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Figura 18
Linha 108 – Cria uma variável do tipo String e atribui o valor vazio a ela.
Linha 109 – Inicia a instrução da estrutura condicional simples (IF). A condição 
é: caso o campo de texto da busca esteja diferente de nulo, atribua o valor descrito 
na linha 110 e 111. O valor atribuído é uma instrução SQL “Where”, utilizando o 
comando “Like” para buscar, no campo Nome da tabela Curso, cursos que começam 
com as letras que o usuário preencher no campo texto de nossa aplicação.
Linha 113 – Invoca o método pesquisaCidade, passando como parâmetro a 
variável String SQLText.
EXPLORE
MySQL Like – Como fazer uma busca com Like: https://goo.gl/afX9bV. 
Testando a aplicação 
Para testar nossa tela de pesquisa, devemos antes configurar a classe principal 
de nosso projeto Java. Ou seja, a classe que será executada em primeiro lugar ao 
executar o projeto na IDE Netbeans. Para isso, clique com o botão direito do mouse 
sobre o nome do projeto e selecione a opção Propriedades.
Figura 19 – Acessando as propriedades do projeto Java
18
Na tela de propriedades, selecione a categoria Executar. No campo “Classe 
principal”, clique no botão Procurar.
Figura 20 – Propriedades do projeto Java
Selecione a classe PesquisaCurso.
Figura 21 – Selecionando a classe principal do projeto
Por fim, clique no menu Executar/Criar Projeto ou F11. Em seguida, pressione 
F6 ou clique no menu Executar/ Executar Projeto. 
Ao abrir a aplicação, clique no botão Pesquisar.
Figura 22 – Testando a tela de pesquisa
19
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Teste a busca digitando o começo do nome do curso. Por exemplo, “Ge”.
Figura 23 – Testando a tela de pesquisa com busca por nome
Passo 3: Capturando as 
informações selecionadas 
no JTable
Nesta etapa, iremos capturar as informações que o usuário seleciona ao navegar 
pelos registros do JTable. Para testar, iremos adicionar 3 componentes de texto 
em nossa tela. Adicione os componentes como na imagem abaixo.
Figura 24 – Adicionando componentes de texto
20
Em seguida, altere os nomes das variáveis para:
• txtSigla;
• txtNome;
• txtDescricao.
Agora, iremos configurar o evento do JTable, que será executado sempre que o 
usuário da aplicação clicar em um registro. Para isso, clique com o botão direito do 
mouse sobre o JTable, na propriedade Eventos, selecione Mouse>mouseClicked.
EXPLORE
Os principais construtores e métodos da classe JTable: https://goo.gl/9mztof. 
Figura 25 – Criando método mouseClicked
No método, digite o seguinte código:
 int linha = tblPesquisa.getSelectedRow();
 txtSigla.setText(tblPesquisa.getValueAt(linha, 0).toString());
 txtNome.setText(tblPesquisa.getValueAt(linha, 1).toString());
 txtDescricao.setText(tblPesquisa.getValueAt(linha, 
2).toString());
Figura 26
21
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Analisando o Código
Linha 157 – Cria uma variável do tipo int e atribui o valor contido na propriedade 
getSelectedRow() do JTable. Essa propriedade indica o índice da linha que o usuário 
está selecionando com o mouse.
Linha 158 a 160 – Atribui ao componente de texto o valor contido na célula 
selecionado no JTable. Para isso, utilizamos a propriedade getValueAt passando 
como parâmetro, primeiro, o índice da linha e, segundo, o índice da coluna do 
JTable.
Para testar, clique no menu Executar/Criar Projeto ou F11. Em seguida, pres-
sione F6, ou clique no menu Executar/ Executar Projeto. 
Figura 27 – Exibindo os registros selecionados do JTable
Agora, ao selecionar com o mouse algum registro do JTable, as informações do 
registro são exibidas nos campos de texto.
22
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Sites
Assistência de Código no Editor Java do NetBeans IDE: Um Guia de Referência
https://goo.gl/gJcH2i
Criando um cliente MySQL simples no NetBeans
https://goo.gl/hyuQrh
Trabalhando com JTable e Banco de Dados no Java
https://goo.gl/EZjH29
 Vídeos
Carregando JTable com registro de banco de dados usando ArrayList [JTable]
https://youtu.be/_XtR56iXRdM
23
Desenvolvendo uma Tela de Pesquisa com JTable
UNIDADE 3
Referências
GONÇALVES, E. Dominando NetBeans. Ciência Moderna, 2006.
HEFFELFINGER, D. R. Java EE 7 Development with NetBeans 8. Packt Publishing 
Ltd, 2015.
NETBEANS, I. D. E. Netbeans. Disponível em< http://www. netbeans.org>. Acesso 
em Junho de 2018.
24
São Paulo 
2018

Mais conteúdos dessa disciplina