Buscar

Interfaces gráficas em Java - Parte II

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Interfaces gráficas
em Java – parte II
	Objetivos
	Aprender o conceito de padrões de layout.
	Conhecer alguns padrões de layout de Java.
	Conhecer mais classes para construção de interfaces gráficas em Java: JComboBox, JCheckBox, JradioButton, ButtonGroup, JMenuBar, JMenu e JmenuItem.
	Desenvolver novos exemplos de tratamento de eventos sobre interface gráfica em Java.
FlowLayout
	O padrão de layout FlowLayout insere os objetos, um após o outro, linha a linha. Assim, quando não é mais possível inserir objetos numa linha, é criada uma nova linha e novos objetos podem ser inseridos. Esse padrão de layout assemelha-se a um editor de textos, pois quando não existe mais espaço numa dada linha é criada uma nova linha para inserção de mais conteúdos.
FlowLayout
GridLayout
	O padrão de layout GridLayout organiza os objetos como uma tabela, com células de objetos de mesmo tamanho. É um layout flexível, pois uma vez redimensionada a janela ele ajusta automaticamente os objetos de forma que o padrão se mantenha, ou seja, que cada objeto de cada célula seja apresentado com o mesmo tamanho.
GridLayout
JComboBox e tratamento de eventos
JComboBox e tratamento de eventos
Integração com Banco
de Dados – parte I
	Objetivos
	Compreender o conceito de programação cliente-servidor.
	Aprender a acessar bancos de dados em Java utilizando drivers nativos e ODBC.
	Aprender a construir aplicações em Java capazes de consultar dados de bancos de dados.
Cliente-Servidor
Cliente-Servidor
Cliente-Servidor
Conexão com banco de dados via ODBC
Conexão com banco de dados via ODBC
Integração com Banco
de Dados – parte I
• conectar com o banco;
• escrever a consulta que desejamos que seja feita no banco;
• submeter essa consulta;
• ler os dados do resultset (resultado da consulta).
Conexão com banco de dados via ODBC
Conexão com banco de dados via ODBC
Conexão com banco de dados via ODBC
Integração com Banco
de Dados – parte I
• criar um banco de dados no MySQL com o nome banco_lp 
• criar dentro desse banco uma tabela com o nome “FILME” utilizando o código SQL apresentado no slide;
• inserir algumas linhas nessa tabela para que tenhamos dados para consultar;
• criar uma fonte de dados ODBC com o nome “banco_lp” que aponte para o banco criado no primeiro item. Na seção 9.3 aprendemos a criar fontes de dados ODBC.
Integração com Banco
de Dados – parte II
	Objetivos
	Aprender a construir aplicações em Java capazes de inserir, alterar e excluir dados de bancos de dados.
Integração com Banco
de Dados – parte II
Integração com Banco
de Dados – parte II
Integração com Banco
de Dados – parte II
Integração com Banco
de Dados – parte II
Exemplo Prático
	Passos
	Banco de Dados;
	O Projeto;
	Factory;
	Modelo;
	DAO;
	GUI;
	Evento SAIR;
	Evento LIMPAR;
	Evento CADASTRAR;
	Consulta através do console do MySQL Server.
Passo 1: Banco de Dados
	Abra o console do MySQL Server em Iniciar > Todos os programas > Mysql > MySQL Server 5.5 > MySQL Server 5.5 Command Line Cliente digite os seguintes comandos:
create database projetojava;
use projetojava;
CREATE TABLE usuario (
id BIGINT(10) AUTO_INCREMENT,
nome VARCHAR(255),
cpf VARCHAR(255),
email VARCHAR(255),
telefone VARCHAR(255),
PRIMARY KEY (id)
);
Passo 2: O Projeto
Passo 2: O Projeto
Passo 3: Factory:
Passo 3: Factory:
// situa em qual package ou “pacote” está a classe 
package br.com.projeto.factory; 
// faz as importações de classes necessárias para o funcionamento do programa 
import java.sql.Connection; 
// conexão SQL para Java 
import java.sql.DriverManager; 
// driver de conexão SQL para Java 
import java.sql.SQLException; 
// classe para tratamento de exceções 
public class ConnectionFactory {
public Connection getConnection() {
		 try {
			return DriverManager.getConnection("jdbc:mysql://localhost/projetojava","seu-nome-de-usuario","sua-senha");
		 } 
		 catch(SQLException excecao) {
			throw new RuntimeException(excecao);
		 }
}
}
Passo 3: Factory:
Passo 3: Factory:
package factory; 
import java.sql.Connection; 
import java.sql.SQLException; 
public class TestaConexao { 
public static void main(String[] args) throws SQLException {
Connection connection = new ConnectionFactory().getConnection();
System.out.println("Conexão aberta!");
connection.close();
}
}
Driver ODBC
Passo 4: Modelo:
Passo 4: Modelo:
package modelo;
public class Usuario {
Long id;
String nome;
String cpf;
String email;
String telefone;
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
} 
public String getNome() { 
public String getNome() { 
return nome;
} 
public void setNome(String nome) { 
this.nome = nome;
} 
public String getTelefone() { 
return telefone;
} 
public void setTelefone(String telefone) { 
this.telefone = telefone;
} 
}
Passo 5: DAO:
Crie no pacote DAO a classe UsuarioDAO: dao > Novo > Classe Java > UsuarioDAO > Finalizar.
Neste pacote ficam as classes que são responsáveis pelo CRUD (Create, Retrieve, Update, Delete – ou – Criar, Consultar, Alterar, Deletar), isto é, dados de persistência. Mas no nosso caso não criamos mais que uma tabela na Base de Dados, conseqüentemente, nenhum relacionamento. Além disso, neste exemplo, criaremos o Cadastro de Usuário, isto é, só vamos usar o Create do CRUD. Numa próxima oportunidade podemos aprender os outros métodos (alterar, consultar e deletar). Em Create, criaremos o método adiciona. Passaremos o próprio objeto "usuario" como parâmetro da função:
Passo 5: DAO:
package dao;
import factory.ConnectionFactory;
import modelo.Usuario;
import java.sql.*;
import java.sql.PreparedStatement;
public class UsuarioDAO { 
private Connection connection;
Long id;
String nome;
String cpf;
String email;
String telefone;
public UsuarioDAO(){ 
this.connection = new ConnectionFactory().getConnection();
} 
public void adiciona(Usuario usuario){ 
String sql = "INSERT INTO usuario(nome,cpf,email,telefone) VALUES(?,?,?,?)";
try { 
PreparedStatement stmt = connection.prepareStatement(sql);
stmt.setString(1, usuario.getNome());
stmt.setString(2, usuario.getCpf());
stmt.setString(3, usuario.getEmail());
stmt.setString(4, usuario.getTelefone());
stmt.execute();
stmt.close();
} 
catch (SQLException u) { 
throw new RuntimeException(u);
} 
} 
}
Passo 6: GUI (Graphical User Interface ou Interface Gráfica de Usuário)
Passo 6: GUI (Graphical User Interface ou Interface Gráfica de Usuário)
Passo 7: Evento SAIR
Clique duas vezes no botão ”SAIR” para criarmos o evento. Na aba Código-Fonte, no método referente a jButton3, isto é, ao botão SAIR, digite:
System.exit(0); 
Passo 8: Evento LIMPAR
Agora, na aba Projeto, dê dois cliques em Limpar.
No método jButton2ActionPerformed, na aba Código-fonte, escreva os seguintes scripts:
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
Passo 9: Evento CADASTRAR
// instanciando a classe Usuario do pacote modelo e criando seu objeto usuarios
Usuario usuarios = new Usuario();
usuarios.setNome(jTextField1.getText());
usuarios.setCpf(jTextField2.getText());
usuarios.setEmail(jTextField3.getText());
usuarios.setTelefone(jTextField4.getText());
// fazendo a validação dos dados
if ((jTextField1.getText().isEmpty()) || (jTextField2.getText().isEmpty()) || (jTextField3.getText().isEmpty())
|| (jTextField4.getText().isEmpty())) {
JOptionPane.showMessageDialog(null, "Os campos não podem retornar vazios");
}
else {
// instanciando a classe UsuarioDAO do pacote dao e criando seu objeto dao
UsuarioDAO dao = new UsuarioDAO();
dao.adiciona(usuarios);
JOptionPane.showMessageDialog(null, "Usuário "+jTextField1.getText()+" inserido com sucesso! ");
}
Passo 9: Evento CADASTRAR
// apaga os dados preenchidos nos campos de texto
jTextField1.setText("");
jTextField2.setText("");
jTextField3.setText("");
jTextField4.setText("");
Passo 9: Evento CADASTRAR
Certamente algumas mensagens de erro aparecerão. Isto porque temos que importar no início do código as classes Usuario (pacote modelo) e UsuarioDAO (pacote dao). Além destas, precisamos importar a classe JOptionPane, responsável pelas janelas de validação, aquelas que aparecem dizendo se o usuário foi ou não cadastrado, se os campos estão vazios, etc.
Coloque estas linhas no início do código, abaixo de “package gui”, na aba Código-fonte:
import modelo.Usuario;
import dao.UsuarioDAO;
import javax.swing.JOptionPane;
Passo 9: Evento CADASTRAR
Passo 10: Consulta através do Console do MySQL Server
Vá até o console do MySQL Server. Digite:
use projetojava;
select * from usuario;

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando