0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Agenda de Contatos em Java Swing

Este programa desenvolve uma agenda eletrônica com interface gráfica utilizando Java Swing. O programa permite cadastrar, consultar, alterar e excluir contatos armazenados em um vetor.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações10 páginas

Agenda de Contatos em Java Swing

Este programa desenvolve uma agenda eletrônica com interface gráfica utilizando Java Swing. O programa permite cadastrar, consultar, alterar e excluir contatos armazenados em um vetor.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd

AGENDA

package CadAgendaSQL;

import [Link].*;
import [Link].*;
import [Link].*;
import [Link];
import [Link].*;

public class Agenda extends WindowAdapter implements ActionListener, FocusListener{


// Declara os componentes gráficos utilizados na janela
private Frame janela;
private Panel painelEndereco,painelBotoes;
private Label lCodigo, lNome, lEndereco, lFone, lCelular,lSexo, lEmail, lId,
lCpf, lCep;
private TextField tCodigo, tNome, tEndereco, tFone, tCelular, tEmail, tId,
tCpf, tCep;
private TextArea tObs;
private Button bNovo, bSalva,bConsulta,bAltera,bExclui;
private MenuBar mb;
private Menu m1;
private MenuItem mi11, mi12;
private CheckboxGroup cbgSexo;
private Checkbox masculino, feminino;
// Declara o vetor para armazenar os dados
private Vector vContatos;
// Declara uma variavel para controlar a movimentação no vetor
private int posicao;

// INICIO DO METODO CONSTRUTOR DA CLASSE


// Quando a classe Agenda for instanciada(criando um objeto) este
// método será executado
public Agenda(){
// Cria o objeto VContatos para armazenar os dados
vContatos=new Vector();
// Cria a janela Agenda
janela = new Frame();
[Link]("Agenda");
[Link](400,500);
[Link](new Color(205, 150, 205));
[Link](null);
// Define um Listener(“escutador”) para a janela da Agenda
[Link](this);

// Cria o painel Endereço


painelEndereco = new Panel();
[Link](new Color(139, 102, 139));
[Link](null);

// Cria o painel Botões


painelBotoes = new Panel();
[Link](new Color(139, 102, 139));
[Link](null);

// Cria menu para a janela Agenda


mb = new MenuBar();
m1 = new Menu("Agenda");
mi11 = new MenuItem("Cadastro");
mi12 = new MenuItem("Sair");
[Link](mi11);
[Link]();
[Link](mi12);
[Link](m1);
[Link](this);
[Link](this);

// Cria Rótulos(Label) do painel Endereço


lCodigo = new Label("Codigo:");
lNome = new Label("Nome:");
lEndereco = new Label("Endereco:");
lFone = new Label("Fone:");
lCelular = new Label("Celular:");
lSexo = new Label("Sexo:");
lEmail = new Label("Email:");
lId = new Label("Id:");
lCpf = new Label("Cpf:");
lCep = new Label("Cep:");

//Cria os campos de texto (TextField) do painel Endereço


tCodigo = new TextField(10);
[Link](this);
[Link](false);

tNome = new TextField(45);


// Define um Listener(escutador) para controlar o foco do campo nome
[Link](this);
[Link](false);

tEndereco = new TextField(60);


[Link](false);

tFone = new TextField(8);


[Link](false);

tCelular = new TextField(9);


[Link](false);

tEmail = new TextField(40);


[Link](false);

tId = new TextField(25);


[Link](false);

tCpf = new TextField(11);


[Link](false);

tCep = new TextField(11);


[Link](false);

// Posiciona e define tamanhos para


// Rótulos e campos de texto do painel Endereço
[Link](10,15,50,13);
[Link](95,12,240,19);
[Link](10,37,50,13);
[Link](95,34,240,19);
[Link](10,59,60,13);
[Link](95,56,240,19);
[Link](10,83,60,13);
[Link](95,80,75,19);
[Link](190,83,50,13);
[Link](240,80,95,19);
[Link](10,105,30,13);
[Link](10,127,75,13);
[Link](95,124,240,19);
[Link](10,149,70,13);
[Link](95,146,240,19);
[Link](10,171,60,13);
[Link](95,168,75,19);
[Link](190,171,50,13);
[Link](240,168,95,19);

// Cria Checkboxes para sexo no painel Endereço


cbgSexo = new CheckboxGroup();
masculino = new Checkbox("Masculino",false,cbgSexo);
[Link](false);
feminino = new Checkbox("Feminino",false,cbgSexo);
[Link](false);

// Posiciona e define tamanhos para


// Checkbox do painel Endereço
[Link](95,102,90,19);
[Link](190,102,90,19);

// Cria, define tamanho e posição de uma área de texto para observações


tObs = new TextArea("",15,90,TextArea.SCROLLBARS_BOTH);
[Link](30,230,330,90);
[Link](false);

// Adiciona Labels e campos de texto ao painel Endereco


[Link](lCodigo);
[Link](tCodigo);
[Link](lNome);
[Link](tNome);
[Link](lEndereco);
[Link](tEndereco);
[Link](lFone);
[Link](tFone);
[Link](lCelular);
[Link](tCelular);
[Link](lSexo);
[Link](lEmail);
[Link](tEmail);
[Link](lId);
[Link](tId);
[Link](lCpf);
[Link](tCpf);
[Link](lCep);
[Link](tCep);
[Link](tObs);
[Link](masculino);
[Link](feminino);

// Cria botões
bNovo = new Button("Novo/Limpar");
// Define um Listener(escutador) para cada botao
[Link](this);
bSalva = new Button("Salva");
[Link](this);
bConsulta = new Button("Consulta");
[Link](this);
bAltera=new Button("Altera");
[Link](this);
bExclui=new Button("Exclui");
[Link](this);

// Define o gerenciador de layout para o painel botões


[Link](new FlowLayout());

// Adiciona botões ao painel botões


[Link](bNovo);
[Link](bSalva);
[Link](bConsulta);
[Link](bAltera);
[Link](bExclui);

// Adiciona os paineis e o menu à janela Agenda


[Link](painelEndereco);
[Link](painelBotoes);
[Link](mb);

// Desabilita botões XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


/*[Link](false);
[Link](false);
[Link](false);
[Link](false);
[Link](false);*/
}//FINAL DO MÉTODO CONSTRUTOR

//METODOS ACESSORES (Permitem adicionar valores para os campos)


public void setCodigo(String codigo){
[Link](codigo);
}
public void setNome(String nome){
[Link](nome);
}
public void setEndereco(String endereco){
[Link](endereco);
}
public void setFone(String fone){
[Link](fone);
}
public void setCelular(String celular){
[Link](celular);
}
public void setEmail(String email){
[Link](email);
}
public void setId(String id){
[Link](id);
}
public void setCpf(String cpf){
[Link](cpf);
}
public void setCep(String cep){
[Link](cep);
}
public void setObs(String Obs){
[Link](Obs);
}
public void setSexo(String sexo) {
if (sexo != null) {
if ([Link]("F")) [Link](true);
else if ([Link]("M")) [Link](true);
}
}
public void setMenuBar(MenuBar mb) {
[Link](mb);
}

//METODOS MUTADORES (Permitem receber o conteúdo dos campos)


public String getCodigo(){
return [Link]();
}
public String getNome(){
return [Link]();
}
public String getEndereco(){
return [Link]();
}
public String getFone(){
return [Link]();
}
public String getCelular(){
return [Link]();
}
public String getEmail(){
return [Link]();
}
public String getId(){
return [Link]();
}
public String getCpf(){
return [Link]();
}
public String getCep(){
return [Link]();
}
public String getObs(){
return [Link]();
}
public String getSexo() {
if ([Link]() == true) return "M";
else if ([Link]() == true) return "F";
else return " ";
}
public MenuBar getMenuBar() {
return [Link]();
}

// Método para tornar visíveis os paineis Endereco e Botoes


public void mostraPainel() {
[Link](400,345); // Tamanho do painel
[Link](0,45); // Posição do painel
[Link](350,75);
[Link](20,420);
[Link](); // Reorganiza a janela Agenda
}

// Método para detectar se determinada estrutura recebeu o foco


public void focusGained(FocusEvent e){

// Método para detectar se determinada estrutura perdeu o foco


public void focusLost(FocusEvent e) {
/* if(getCodigo().length()==0) // Verifica se o campo codigo está
em branco
[Link](); // Devolve o foco para o campo tCodigo
else {
// Habilita botões
[Link](true);
if(getNome().length()>0)
[Link](true);
}*/
}

// Método para detectar que ações foram executadas


public void actionPerformed(ActionEvent e) {
if ([Link]().equals(mi11)) // Se a ação foi clicar em 'Cadastro'
{ // no Menu Agenda
[Link]();
return;
}

if ([Link]().equals(mi12)) // Se a ação foi clicar em 'Sair' no


{ // Menu Agenda
[Link](0);
}

// Determina a ação correspondente a cada botão quando clicado.


Button b=(Button)[Link]();
if (b==bNovo) [Link]();
else if (b==bSalva) [Link]();
else if (b==bConsulta) [Link]();
else if (b==bExclui) [Link]();
else if (b==bAltera) [Link]();
}

//----------------------Seção de acesso oa banco de dados ----------------


Connection conecta()
{
// String url="jdbc:odbc:banco"; --para outros bancos de dados
String url="jdbc:mysql://localhost/cadagenda";
Connection con;

/* Try Catch são blocos de comandos que tem como principal objetivo tratar exceções
que o programador não tem como prever que irão acontecer ou controlar. */
try{
// [Link]("[Link]");
[Link]("[Link]");
con=[Link](url,"root","");
return con;
}
catch(ClassNotFoundException cnf){
[Link]("Houve um erro no DRIVER:
classnotfoundexcepition-"+cnf);
return null;
}
catch(SQLException sql){
[Link]("Houve um erro no
SQL:sqlexception sql-"+sql);
return null;
}
}

//Método do botão Salva


public void botaoSalva()
{
[Link](true);
Connection con=conecta();
//con=conecta();
try
{
//Cria um Stantement para acesso ao banco
Statement st=[Link]();

//executa um cmd SQL para inserir os dados na tabela


int resultado=[Link]("insert into agenda (Nome,
Endereco, Fone, Celular, Email, Id, Cpf, Cep, Sexo, Obs) values('"+getNome()
+"','"+getEndereco()+"','"+getFone()+"','"+getCelular()+"','"+getEmail()
+"','"+getId()+"','"+getCpf()+"','"+getCep()+"','"+getSexo()+"','"+getObs()+"')");
//[Link]("insert into Agenda values('"+getCodigo()
+"','"+getNome()+"','"+getEndereco()+"','"+getFone()+"','"+getCelular()
+"','"+getSexo()+"','"+getObs()+"');");
//fechar cnx

[Link]();
//[Link]();
[Link]();

[Link]("Registro salvo.");
[Link]();
}

catch(SQLException sql){

[Link]("Nao salvo.");
}
}

//Método do botão Exclui.


void botaoExclui() {

Connection con=conecta();
con=conecta();
try
{
String cod=getCodigo();
Statement st=[Link]();
int resultado=[Link]("Delete from Agenda where
codigo='"+cod+"';");
[Link]();
[Link]();
[Link]();
[Link]("registro Excluido");
}
catch(SQLException sql)
{
[Link]("registro Nao Excluido");
}
}

//Método do botão Novo


void botaoNovo() {
[Link]();

[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);

[Link](false);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);
[Link](true);

[Link]();
}
/////////////////////////////////////////////////////////
//Método do botão Consulta
void botaoConsulta()
{

Connection con=conecta();
con=conecta();

try
{

String cod=getCodigo();
String nome=getNome();
Statement st=[Link]();
//ResultSet rs=[Link]("Select * from Agenda where codigo
='"+cod+"';");
ResultSet rs=[Link]("Select * from Agenda where
Nome like '%"+nome+"%';");

while([Link]())
{
[Link]([Link](1));
[Link]([Link](2));
[Link]([Link](3));
[Link]([Link](4));
[Link]([Link](5));
[Link]([Link](6));
[Link]([Link](6));
[Link]([Link](6));
[Link]([Link](6));
[Link]([Link](6));
[Link]([Link](7));
[Link]("Registro encontrado");
}
[Link]();
}
catch(SQLException sql)
{
[Link]("Registro não encontrado");
}
}

//Código do botão Altera.


void botaoAltera()
{
Connection con=conecta();

try
{
try (Statement st = [Link]()) {
int resultado=[Link]("Update Agenda set
nome='"+getNome()+"',endereco='"+getEndereco()+"',fone='"+getFone()
+"',celular='"+getCelular()+"',Email='"+getEmail()+"',Id='"+getId()
+"',Cpf='"+getCpf()+"',Cep='"+getCep()+"',sexo='"+getSexo()+"',obs='"+getObs()
+"'where codigo='"+getCodigo()+"';");
}
[Link]();
[Link]("Registro Alterado");
[Link]();
[Link]();
[Link](false);
}
catch(SQLException sql)
{
[Link]("Registro Não Alterado");
}
}

//Método para limpar o conteúdo do campos


public void limpaDados() {
[Link](""); // move vazio para os campos de texto
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
[Link]("");
}

//Obtem os dados do objeto contato e mostra-os nos seus respectivos


//componentes visuais.
public void obterDadosContatos(int pos) {
//cria um objeto para receber o conteudo na posicao do vetor
Contato contatoAtual=(Contato)[Link](pos);
//Utiliza o metodo getCodigo do objeto e devolve para o método
setCodigo do componente
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
[Link]([Link]());
}

// Define ações a serem executadas quando o for pressionado o botão


// fechar da janela Agenda
public void windowClosing(WindowEvent e) {
[Link](0); // Sai do App-Programa
}

// Cria método para tornar a janela Agenda visível


public void mostraAgenda(){
[Link](true);
}
public static void main(String[] args) {
Agenda agenda = new Agenda();
[Link](); }}

Você também pode gostar