Programa simples

34 respostas
A

Caro colega,

Gostaria de fazer o meu primeio programa usando uma interface gráfica, por exemplo: um cadastro bem simples de cliente só mesmo para dar o primeiro empurrão. Nes cadastro, teria uma caixa de texto para digitar o nome, o endereço e a data da inclusão no caadastro. um botão para incluir, outro para excluir e um botão para sair do sistema.
Só tenho o conhecimento básico da faculdade mas com o uso de saidas em console.
Como IDE eu tenho o JDeveloper 10 e o JCreator. mas posso conseguir outras dentro do que voce puder me ajudar com o exemplo, ok?

Ficarei muito agradecido,

Edson
[email removido]

34 Respostas

R

[i] Cara,
tenta abaixa o Eclipse ai.
é mto bom.
da uma olha em conexão com banco.
ai depois vc da uma olhanda em Swing.

qualquer duvida posta ae
Até [/i]

A

Caro colega,

Lhe agradeço imensamente pela valiosa dica. Já estou baixando oeclipse (121 MB) não é isso?

Vou instalar e aí é que vou novamente correr atraz da ajuda dos amigos aqui do fórum e com certeza, acredito que vou poder contar contigo pois estou começando mesmo agora e já estou louco para ver um programinha com um visual mais apresentado, mesmo que seja muito simples mesmo, arroz cm feijão como eu disse acima. Se voce tiver algum exemplo também e puder me indicar ou me enviar ficarei também muito agradecido.

Meu e-mail é [email removido]

Edson

R

[i]é esse ai mesmo, cara pronto aqui eu não tenho nada
mais procura na net ai, se vc não acha da uma olhada naquilo que eu disse acima.

Até[/i]

R

[i]uma dica
Caixa de texto: JTextField
Botão: JButton

procura ai sobre esse dois, pelo que vc disse acimaseram só os dois que vc vai utilizar

até [/i]

D

classe CadastrarCliente trabalha com a interface apenas. A classe ControlaCadastrarCliente chama as demais classes, neste caso, como só tem uma.. chama apenas CadastrarCliente.

import java.awt.*;

import javax.swing.*;

public class CadastrarCliente extends JFrame{

	private		Container	container;
	private		JLabel		labelNome, labelEndereco, labelBairro; 
	private		JTextField	fieldNome, fieldEndereco, fieldBairro;
	private		JButton		buttonGuardar, buttonCancelar;

	public CadastrarCliente(){

		super("Cadastrar Cliente");

		container = getContentPane();
		container.setLayout(null);

		labelNome = new JLabel("Nome");
		labelNome.setBounds(10, 10, 50, 25);
		fieldNome = new JTextField();
		fieldNome.setBounds(70, 10, 280, 25);		
		container.add(labelNome);
		container.add(fieldNome);

		labelEndereco = new JLabel("Endereco");
		labelEndereco.setBounds(10, 40, 200, 25);
		fieldEndereco = new JTextField();
		fieldEndereco.setBounds(70, 40, 280, 25);
		container.add(labelEndereco);
		container.add(fieldEndereco);

		labelBairro = new JLabel("Bairro");
		labelBairro.setBounds(10, 70, 290, 25);
		fieldBairro = new JTextField();
		fieldBairro.setBounds(70, 70, 280, 25);
		container.add(labelBairro);
		container.add(fieldBairro);

		buttonGuardar = new JButton("Guardar");
		buttonGuardar.setBounds(90, 100, 80, 30);
		buttonCancelar = new JButton("Cancelar");
		buttonCancelar.setBounds(180, 100, 100, 30);
		container.add(buttonGuardar);
		container.add(buttonCancelar);
	
		setSize(400,300);
		setVisible(true);

	}

}
class ControleCadastrarCliente{

	public static void main(String args[]){

		CadastrarCliente cadastroCliente;

		cadastroCliente = new CadastrarCliente();
	
	}	

}

espero que isso sirva de impulso pra seus estudos.. abraços!!

A

Prezado Dougufpa,

É isso mesmo !! Lhe agradeço imensamente pela grande ajuda. Já vou fazer os primeiros testes e volto a postar aqui como foi o resultado. Eu tenho em minha máquina o JDeveloper 10 e tenho tanbém o Jcreator. Neste caso, qual destes eu devo usar?

Obrigado mais uma vez,

Atenciosamente,

Edson Amorim

I

Grande Doug…beleza ??
para eu armazenar os clientes cadastrados eu preciso de uma conexão de banco de dados, certo ?

existe um banco de dados específico ? ou posso usar SQL ou Access ?

como posso fazer esse tipo de conexão ?

valeu
Rafael

D

caro colega de forum Amamorim sobre a questão do editor que deseja usar, vai depender de qual melhor lhe agradar, por exemplo ja usei varios: JCreator, Java Editor, Eclipse, JGrasp, NetBiens entre outros.
Pelo menos eu não ligo muito pra essa de editor, a unica vantagem que acho é a indentação, do resto prefiro usar o bloco de nota mesmo. Já vi e ouvi falar inumero grandes projetos e na maioria deles usavam o Eclipse. Eu pelo menos gosto de trabalhar direto com o codigo, por isso uso qualquer bloco de notas.

sobre a questão do meu caro colega de forum Itatiba00, sim você precisa de uma conexão com o banco de dados para armazenar os dados. A escolha da linguagem para fazer o banco de dados fica a seu criterio: Mysql, Acess, etc.... para fazer o tipo de conexão. abaixo tem um codigo para fazer a conexao, pesquisa, etc, da uma olhada nos metodos. É uma classe para fazer conexão do banco com o Cadastro do Usuario, espero que entenda, caso contrario pode colocar suas duvidas a respeito o código está abaixo:
package br.ufpa.bd2.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import br.ufpa.bd2.negocio.Associado;
import br.ufpa.bd2.util.Consts;

public class AssociadoDAO extends AbstractGenericDAO {
	/**
	 * 
	 */
	static {
		try {
			Class.forName(Consts.CLASSNAME);
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	} 
	
	/**
	 * 
	 * @param associado
	 */
	public static void inserir (Associado associado) {
		
		Connection con = null;
		Statement st = null;
		try {
			con = getConnection();
			st = con.createStatement();
			String [] fone = associado.getFone();

			String query = "insert into associados (adesao, codfranqfunc, datacadastro, situacao, modalidade, " +
							"cliente, tipo, sexo, estadocivil, endereco, bairro, cidade,  cep, " +
							"profissao, cpfcgc, rg, datanascimento, email, fone1, fone2, fone3, fone4, obs) values ('" + 
							associado.getAdesao() +  "','" + associado.getCodfranqfunc() +"','" + associado.getDataCadastro() + 
							"','" + associado.getSituacao() + "','" + associado.getModalidade() + "','" + associado.getCliente() + 
							"','" + associado.getTipo() + "','" + associado.getSexo() + "','" + associado.getEstadoCivil() + "','" + 
							associado.getEndereco() + "','" + associado.getBairro() + "','" + associado.getCidade() + 
							"','" + associado.getCep() + "','" + associado.getProfissao() + "','" + associado.getCpf() + "','" + associado.getRg() +
							"','" + associado.getDataNascimento() + "','" + associado.getEmail() + "','" + fone[0] + "','" + " " + "','" + " " +
							"','" + " " + "','" + associado.getObs() + "')";
			System.out.println(query);
			
			st.execute(query);
						
		} catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				st.close();
				con.close();
			} catch (SQLException e) {}
		}
		
	}
	

	/**
	 * 
	 * @param associado
	 */
	public static void atualizar (Associado associado) {
		Connection con = null;
		Statement st = null;
		
		try{
			con = getConnection();
			st = con.createStatement();
			
			String [] fone = associado.getFone();
			
			String query = "update associado set situacao='" + associado.getSituacao() + "', modalidade='" + associado.getModalidade() + "', " +
							"cliente='" + associado.getCliente() + "', tipo='" + associado.getTipo() + "', sexo='" + associado.getSexo() + 
							"', estadocivil='" + associado.getEstadoCivil() + "', endereco='" + associado.getEndereco() + 
							"', bairro='" + associado.getBairro() + "', cidade='" + associado.getCidade() + "', uf='" + associado.getUf() + 
							"', cep='" + associado.getCep() + "', profissao='" + associado.getProfissao() + "', cpf='" + associado.getCpf() + 
							"', rg='" + associado.getRg() + "', datanasc='" + associado.getDataNascimento() + "', email='" + associado.getEmail() + 
							"', fone1='" + fone[0] + "', fone2='" + fone[1] + "', fone3='" + fone[2] + "', fone4='" + fone[3]+ "', obs='" + associado.getObs() + "' where adesao='" + associado.getAdesao() + "'";
			
			st.executeUpdate(query);
			
		}catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				st.close();
				con.close();
			}catch (SQLException e) {}
		}
	}
	
	/**
	 * 
	 * @param associado
	 */
	public static Associado [] pesquisar (String campo, String valor) {
		Connection con = null;
		Statement st = null;
		Associado [] associados = null;
		
		try {
			con = getConnection();
			st = con.createStatement();
			
			String query = "select * from associados where " + campo + "='" + valor + "'";
			
			ResultSet rs = st.executeQuery(query);
	
			if (rs.next()) {
				
				ArrayList <Associado> temp = new ArrayList <Associado> (); 
				do {
					Associado aux = new Associado ();
					aux.setAdesao(rs.getInt("adesao"));
					aux.setCodfranqfunc(rs.getInt("codfranqfunc"));
					aux.setDataCadastro(rs.getString("datacadastro"));
					aux.setSituacao(rs.getString("situacao"));
					aux.setModalidade(rs.getString("modalidade"));
					aux.setCliente(rs.getString("cliente"));
					aux.setTipo(rs.getString("tipo"));
					aux.setSexo(rs.getString("sexo"));
					aux.setEstadoCivil(rs.getString("estadocivil"));
					aux.setEndereco(rs.getString("endereco"));
					aux.setBairro(rs.getString("bairro"));
					aux.setCidade(rs.getString("cidade"));
					aux.setUf(rs.getString("uf"));
					aux.setCep(rs.getString("cep"));
					aux.setProfissao(rs.getString("profissao"));
					aux.setCpf(rs.getString("cpfcgc"));
					aux.setRg(rs.getString("rg"));
					aux.setDataNascimento(rs.getString("datanascimento"));
					aux.setEmail(rs.getString("email"));
					
					String [] fone = new String[4];
					fone[0] = rs.getString("fone1");
					fone[1] = rs.getString("fone2");
					fone[2] = rs.getString("fone3");
					fone[3] = rs.getString("fone4");
					
					aux.setFone(fone);
					aux.setObs(rs.getString("obs"));
					
					temp.add(aux);
					
				}while (rs.next());
				
				associados = new Associado[temp.size()];
				for (int i = 0; i < temp.size(); i++) {
					associados[i] = temp.get(i);
				}
			}
		}catch (SQLException e) {
			e.printStackTrace();
		}
		
		
		return associados;
		
	}
	
	public static Associado [] pesquisar (String str) {
		Connection con = null;
		Statement st = null;
		Associado [] associados = null;
		
		try {
			con = getConnection();
			st = con.createStatement();
			
			String query = "select * from associados where cliente like '" + str + "%'";
			
			ResultSet rs = st.executeQuery(query);
	
			if (rs.next()) {
				
				ArrayList <Associado> temp = new ArrayList <Associado> (); 
				do {
					Associado aux = new Associado ();
					aux.setAdesao(rs.getInt("adesao"));
					aux.setCliente(rs.getString("cliente"));
					
					temp.add(aux);
					
				}while (rs.next());
				
				associados = new Associado[temp.size()];
				for (int i = 0; i < temp.size(); i++) {
					associados[i] = temp.get(i);
				}
			}
		}catch (SQLException e) {
			e.printStackTrace();
		}
		
		
		return associados;
		
	}

	
	public static Associado [] pesquisar () {
		Connection con = null;
		Statement st = null;
		Associado [] associados = null;
		
		try {
			con = getConnection();
			st = con.createStatement();
			
			String query = "select * from associados order by cliente";
			
			ResultSet rs = st.executeQuery(query);
	
			if (rs.next()) {
				
				ArrayList <Associado> temp = new ArrayList <Associado> (); 
				do {
					Associado aux = new Associado ();
					aux.setAdesao(rs.getInt("adesao"));
					aux.setCodfranqfunc(rs.getInt("codfranqfunc"));
					aux.setDataCadastro(rs.getString("datacadastro"));
					aux.setSituacao(rs.getString("situacao"));
					aux.setModalidade(rs.getString("modalidade"));
					aux.setCliente(rs.getString("cliente"));
					aux.setTipo(rs.getString("tipo"));
					aux.setSexo(rs.getString("sexo"));
					aux.setEstadoCivil(rs.getString("estadocivil"));
					aux.setEndereco(rs.getString("endereco"));
					aux.setBairro(rs.getString("bairro"));
					aux.setCidade(rs.getString("cidade"));
					aux.setUf(rs.getString("uf"));
					aux.setCep(rs.getString("cep"));
					aux.setProfissao(rs.getString("profissao"));
					aux.setCpf(rs.getString("cpfcgc"));
					aux.setRg(rs.getString("rg"));
					aux.setDataNascimento(rs.getString("datanascimento"));
					aux.setEmail(rs.getString("email"));
					
					String [] fone = new String[4];
					fone[0] = rs.getString("fone1");
					fone[1] = rs.getString("fone2");
					fone[2] = rs.getString("fone3");
					fone[3] = rs.getString("fone4");
					
					aux.setFone(fone);
					aux.setObs(rs.getString("obs"));
					
					temp.add(aux);
					
				}while (rs.next());
				
				associados = new Associado[temp.size()];
				for (int i = 0; i < temp.size(); i++) {
					associados[i] = temp.get(i);
				}
			}
		}catch (SQLException e) {
			e.printStackTrace();
		}
		
		
		return associados;
		
	}
	
	/**
	 * 
	 * @param associado
	 */
	public static void excluir (String associado){
		Connection con = null;
		Statement st =null;
		
		try {
			con = getConnection();
			st = con.createStatement();
			
			DependentesAssociadosDAO.excluir("adesao", associado);			
				
			String query = "delete from associados where adesao='" + associado + "'";
			st.execute(query);
			
		}catch (SQLException e) {
			e.printStackTrace();
		}finally {
			try {
				st.close();
				con.close();
			}catch(SQLException e) {}
		}
				
	}

}

até mais, abraço a todos!!

U

Eu tenho uma pergunta que não tem muito haver com o tópico…
Ai tem três pesquisar, cada um com parâmetros diferentes… isso seria poliformismo, sobrecarga ou o que? :roll:

A

Prezado Dougufpa,

Muito obrigado pelas considerações a respeito da escolha da ide. Optei de momento por seguir sua opinião que alias, achei melhor ainda para nos forçar a aprender mais coisas, como por exemplo, vivenciar diretamente o código. feito isso, fiz a primeira tentativa, usando seu próprio código do exemplo que me enviou acima. Só que ao compilar, deu o seguinte erro:

ControleCadastrarCliente.java:7: cannot resolve symbol
symbol : class CadastrarCliente
location : ControleCadastrarCliente
cadastroCliente = new CadastrarCliente();
2 errors

Onde é que estou errando? Salvei os arquivos: ControleCadastrarCliente.java e
CadastrarCliente.java

Um abraço,
[/img]

M

Respondendo o Uchiha_Itachi:

Isto eh sobrecarga de metodo.

I

Amamorim, eu salvei como CadastrarCliente.java e ControleCadastrarCliente.java, ambos compilaram e rodaram perfeitamente.

Uma dúvida, salvou no mesmo projeto ?

Agora estou estudando a conexão com o banco de dados…
valeu Doug…

abs
Rafael

I

grande Doug, belo código esse, bem explicado, mas essa package, ela se encontra onde ? pois ao compilar, deu vários errinhos, relacionados a essa package.

valeu
Rafael

U

“marcosbrandao”:
Respondendo o Uchiha_Itachi:

Isto eh sobrecarga de metodo.

Obrigado! :wink:

D
Prezado Amamorim, Primeiramente agradeço pelos elogios e tenho o prazer de compartilhar e ver a sua força de vontade de aprender e só cometemos erros quando sabemos o conteúdo e quando estudamos. Sobre o erro que está acontecendo ele se encontra nesse trecho
cadastroCliente = new CadastrarCliente();
Isso por que simplesmente, java é muito sensível, ou seja, ele distinguem letras maiúsculas de minúsculas, pode ser isso, não estou certo a respeito, pelo fato de o erro estar dando na outra classe. Seria otimo se mostra-se o código por inteiro. Pode ter errado algo na classe CadastrarCliente.java. Seria interessante se mostra-se o seu código para ver qual o erro. Espero sua resposta ou dúvida a respeito, pra mostrar com a as classes funcionam, veja abaixo a figura da Interface.

[img]http://img178.imageshack.us/img178/447/cadastrarusuariojs1.png[/img]

D

grande Doug, belo código esse, bem explicado, mas essa package, ela se encontra onde ? pois ao compilar, deu vários errinhos, relacionados a essa package.

valeu
Rafael

Prezado [b]Itatiba00[/b],

     Primeiramente obrigado por fazer a pergunta. Brevemente vou explicar o que significa o package de forma bem grotesca, mas fácil de entender.
     O package relaciona ou faz a comunicação de uma classe que está salva em outro diretório. Por exemplo, eu poderia muito bem ter salvado a classe CadastrarUsuário em  "c:\Meus documentos\projeto\nomedoprojeto\interfaces" e a classe ControleCadastrarClientes.java "c:\Meus documentos\projeto\nomedoprojeto\controle". O package vai chamar a classe CadastrarUsuario.java (que é uma interface e está no diretorio interface) para ser usada ou instanciada, pela classe ControleCadastrarUsuario.java (que controla ou chama as demais classes e está no diretorio controle). Espero que tenha intendido!! explique de forma bem grotesca, mas simples de entender, caso contrario pode perguntar.
     Voltando a pergunta. O package você não deve utilizar, isso porque esse projeto inclui em torno de umas 30 classes, e eu utilizei o package pra separar em pastas as classes para ficar mais fácil de fazer a manutenção:
     Exemplo: para as Interfaces criei uma pasta [i]Interface[/i] e coloquei todas as classes para interfaces la dentro;
                    para a conexão com o banco de dados criei uma pasta [i] DAO[/i] e coloquei todas as classes com conexoes la dentro;
                    Para controlar tudo criei um diretório [i]controle[/i] que possui o controle de tudo, tipo uma classe para controlar as conexoes, outra pra controlar as interfaces e outra que controla tudo. Isso pode se chamar de modularização, pelo menos eu chamo assim :)

                     Ou seja, para ficar tudo organizado e fácil de usar, houve a necessidade de organizar a arquitetura toda em pastas. Lógico que tenho que dar credito também ao meu colega [b]rodolfocoutinho[/b], que estuda na mesma classe que a minha e faz parte aqui do forum, nós fizemos esse projeto pra uma empresa de plano de saúde.
                   
       Bem acho que estou me alongando muito, espero ter ajudado, qualquer coisa, perguntem.. 
       "Não existe pergunta besta, e sim aquele besta que não pergunta!"

Abraço a todos!!!

A

Caro Dougufpa,

Consegui rodar o programa. Descobri o erro; era mesmo o case sensitive do Java!!.. Foi bom ter acontecido! Já mexi bastante com a tela de cadastrar cliente. Estou entusiamado e gostaria de mais 2 ajudinhas de momento:

1 - Criar 2 botões para navegação entre os registros: proximo e anterior…

2 - Criei um banco de dados no acces e gostaria de já implementar isso. como é que eu faço isso? ou seja receber os dados desta tela de cadastro de cliente e gravar no banco de dados? meu banco é: Cliente.mdb e tem apenas os campos referenciados na classe cadastrar clientes…

Conto mais uma vez com sua ajuda e/ou dos demais colegas também… A coisa tá indo…

Obrigado a todos,

Edson
[email removido]

S

“Uchiha_Itachi”:
Eu tenho uma pergunta que não tem muito haver com o tópico…
Ai tem três pesquisar, cada um com parâmetros diferentes… isso seria poliformismo, sobrecarga ou o que? :roll:

Seria sobrecarga (overload) que é um tipo de polimorfismo estático.

R

Pro pessoal que tá querendo conectar java com access.

http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=5

Falou

A

Caros colegas,

Continuo aguardando mais alguma ajuda de voces pode ser bem simples mesmo!! Revejam minhas duvidas postadas aqui anteriormente:
Caro Dougufpa,

Consegui rodar o programa. Descobri o erro; era mesmo o case sensitive do Java!!.. Foi bom ter acontecido! Já mexi bastante com a tela de cadastrar cliente. Estou entusiamado e gostaria de mais 2 ajudinhas de momento:

1 - Criar 2 botões para navegação entre os registros: proximo e anterior…

2 - Criei um banco de dados no acces e gostaria de já implementar isso. como é que eu faço isso? ou seja receber os dados desta tela de cadastro de cliente e gravar no banco de dados? meu banco é: Cliente.mdb e tem apenas os campos referenciados na classe cadastrar clientes…

Conto mais uma vez com sua ajuda e/ou dos demais colegas também… A coisa tá indo…

Obrigado a todos,

Edson

A

Caros colegas,

Desculpem a minha instência!! É que estou querendo muito mesmo a aprender fazer um programa em JAVA. As outras linguagens são ricas de informação, apostilas e materiasi e cursos. Java, ninguem consegue explicar como é que funciona!!, ou seja, como é que se faz um programa simples com uma interface grafica com um menuzinho, uma tela para cadastro ustilisando um banco de dados simples, só mesmo para a gente ver como é que funciona e daí então usar a criatividade e outros conhecimentos para se desenvolver… Já tive ótima colaboração de nosso amigo dougufpa, aquem eu agradeço muito, e outros colegas também. Já sei fazer uma tela incluindo labels e caixas de texto. mas não sei como interar isso com um banco de dados e gravar e movimentar entre registros!!

Por gentileza, se alguem tiver alguma dica de como conseguir algo mesmo com custo, me ajude, estou disposto a investir e a aprender. Com relação ao forum, sei que é ppara d´úvidas, mas para quem é iniciante, é necessário as vezes, um pouquinho mais!!

Conto com voces!! Será que todo desenvolvedor java teve que passar por esta briga toda para aprender?

Caras!! Poxa!! desbafei…

Um abraço,

Edson

A

Olá Colegas,

Mais nenhuma ajuda?!!

Conto com voces!!

Obrigado,

Edson

D

caro colega Amamorim,
Desculpe pela demora, tive ocupado nesses dias, primeiramente vamos por partes, hoje vou lhe fornecer a conexão com o banco de dados access, também muito simples, siga o link abaixo que possui um exemplo muito bem explicado, que foi retirado aqui do fórum através de busca.

Obs: A busca do forum é uma arma poderosa, aprenda utilizá-la.

link: http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=5&page=2

A

Prezado Dougufpa,

Poxa!! Voce viu aí o desepero deste colega!! Mas agora estou calmo!! Já aprendi mais uma coisa: “Procurar no Fórum”. Como voce vê; muitas vezes a gente precisa até mesmo aprender isso também!. Já fiz algumas pesquisas aqui e já tive resultados. Vou explorar mais…

Quanto ao conteúdo da matéria do link que voce passou, já peguei e estou estudando-o.

Como voce disse, vamos por partes!!

Me diga se estou entendo bem:

1 - Eu crio uma tela para cadastro de “Nome” e “Id” chamada “Cadastro”.
2 - crio o programinha que está lá no link: Acessando uma base acces, com aquele nome que está lá no manual, por exempl>
3 - voltarei ao programa “Cadastro” para fazer algum relacionamento da tela com o banco, é isso?

Ou voce me dará novas dicas como voce disse acima, não abusando de sua boa vontade em ajudar!..

Parece que já estou caminhando!!

Atenciosamente,

Edson
[email removido]

R

Voce viu o link do tutorial de banco de dados? Qual e a sua duvida?

D

Caro Amamorim

ok, acho que entendi.

Vamos lá, vou te falar todos os passos:

1 - Você vai criar a interface com todos os campos do formulario;

2 - Você vai criar um banco de dados com todos os elementos do formularios para poder salvá-los;

3 - Criarás os eventos (relacionar o banco com a interface), como nos exemplos do link que enviei a você e introduzirá os eventos ao botão salvar do seu formulario, ou seja, os campos do JTextField que estarão preenchidos deveram ser salvos nas tabelas do seu banco de dados no access. Exemplo: o campo nome da interface vai ser armazenado na tupla nome do banco, e assim pra todos os campos

espero que tenha entendi o que tem que fazer… caso contrário, pode perguntar!!

A

Prezado Dougufpa,

Ótimo. Já fiz o formulário ==> FormBanco.java
Criei o banco Access ==> Meubanco.mdb
Criei o programa de ligação com o banco ==>JdbcAccess.java

No formulario eu inclui mais 2 botoes: Próximo e Anterior. Os campos do meu banco de dados são os mesmos do exemplo da conexão com o banco. Agora, me falta fazer os eventos patra gravar estes 2 campos do formulário lá na tabela “Relacao” do meu banco de dados e criar o código para movimentar entre os registros: próximo e anterior.

Já compilei e deu tudo certinho. Como é que vou fazer estas coisas?

Atenicosamente,

Edson

R

E´o seguinte:

Voce faz a consulta:

ResultSet rs = st.executeQuery (“select * from …”);

dai voce pode pegar o numero da linha que voce tá trabalhando com o metodo getRow()
int linha = rs.getRow()

se voce quiser ir para a proxima, voce faz o seguinte:

linha +=1;
rs.absolute(linha);

isso possiciona o cursor na proxima linha. Entao voce pega os dados

String nome = rs.getString(“nome”)

Se voce quiser ir para o registro anterior faça:

linha -= 1;

rs.absolute(linha);

e pega os dados do mesmo jeito.

De uma olhada nesse link.
http://www.guj.com.br/java.tutorial.artigo.120.1.guj

falow

A

Prezado RodolfoCoutinho e Dougufpa,

Consegui entender suas explicações e as orientações do Dougufpa. Fiz conforme sugerido e consegui então deixar o meu formulario bem arrumadinho, porém, ainda não sei colocar as ações para os botões salvar e próximo e anterior. Tô apanhando, mas ainda não consegui fazer isso.

Consegui incluir a tabela lá no meu banco de dados através do link informado pelo Dougufpa. Inclusive fiz exatamente como o exemplo e deu certo. eu executei o programa JdbcAccess. E agora? Parece simples mas tá me dando um coro que voces nem imaginam. Eu tenho como mandar o que fiz para voces verem?

grato,

Edson

D

manda ai o condigo…

R

Amigo, a grosso modo você poderia fazer assim:
//Declara a variável linha

public class Janela extends JFrame {
public static int linha;

 ...

  btnProximo.addActionListener (new ActionListener () {
   public void actionPerfor ...
         linha+=1;
          ResultSet rs = st.execute("select * from cadastro ...");/
          rs.absolute(linha);
          txtNome.setText(rs.getNome());
         ...
|); 

   btnAnterior ... {
        public void action....
              linha-+1;
  ResultSet rs = st.execute("select * from cadastro ...");/
          rs.absolute(linha);
          txtNome.setText(rs.getNome());
         ...
   |
|

falow[/code]

A

Oi meus amigos Dougufpa e Rodolfocoutinho e demais c9olegas do fórum

Poxa gente, é mais fácil passar num vestibular para medicina sem estudar ou Cien]cia da Computacão doi que ver um programinha simples em java funcionando!! Em qualquer outra linguagem isso é tão simples!! A gente ver exemplos aos montes e a gente aprende de verdade, assim como aprendi access, VB, delphi E outras. Mas tudo bem!! Agradeço muito pela ajuda destes grandes colegas mas eu realmente precisava ver um programinha simples com acesso a um banco de dados, incluir um registro, excluir e alterar… Mas em java a gente não tem estas informações… É uma pena, parece que muitas pessoas não querem que outras aprendam…
Tenho muita vontade de aprender, já sei fazer um formulário, já sei criar uma conexão com o banco de dados acces através da criação do DSN e do exemplo postado aqui no fórum. Até tudo beleza, tudo direitinho… mas não consigo sair disso.
Aplaudo a voces grandes guerreiros que conseguiram aprender…

Um grande abraço e meu muito obrigado mesmo pelo que conseguiram me ajudar… sei que realmente é muito mas muito dificil mesmo…

Fazer o que, não é mesmo?

Edson Amorim
[email removido]

A

Caríssimos colegas,

Apesar de meu desbafo acima, eu ainda não desisti, afinal, nós temos que ser persistentes!! Sei disso, portanto estou quebrando a cabeça e por enquanto, mexendo com os formularios, já consegui entender a conexão com o banco de dados, funcionou legal agora, estou tentando os próximos passos. estou querendo fazer um frame com um menu que chame a classe “funcionario” e que tenha a “opção” sair para sair do aplicativo. qualquer ajuda sobre isso também será bem vinda. Acho que consigo fazer o menu, porem não sei atribuir as ações de: chamar o utro formulário e de sair do aplicativo.
Atenciosamente,

Edson

A

Prezado Dougufpa,

Com relação ao código abaixo postado por voce, gostaria de saber o seguinte:

1-) Aprendi a trabalhar com as classes; crio compilo separadamente cada classe e executo o programa através da cslasse “Main”. Como é que eu trabalho com as Packages? Eu tenho que compilar classe por classe? Lhe agradeço mais uma vez por mais esta ajuda!!

package br.ufpa.bd2.dao; 

import java.sql.Connection; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 
import java.util.ArrayList; 

import br.ufpa.bd2.negocio.Associado; 
import br.ufpa.bd2.util.Consts; 

public class AssociadoDAO extends AbstractGenericDAO { 
   /** 
    * 
    */ 
   static { 
      try { 
         Class.forName(Consts.CLASSNAME); 
      } catch (ClassNotFoundException e) { 
         e.printStackTrace(); 
      } 
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static void inserir (Associado associado) { 
       
      Connection con = null; 
      Statement st = null; 
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
         String [] fone = associado.getFone(); 

         String query = "insert into associados (adesao, codfranqfunc, datacadastro, situacao, modalidade, " + 
                     "cliente, tipo, sexo, estadocivil, endereco, bairro, cidade,  cep, " + 
                     "profissao, cpfcgc, rg, datanascimento, email, fone1, fone2, fone3, fone4, obs) values ('" + 
                     associado.getAdesao() +  "','" + associado.getCodfranqfunc() +"','" + associado.getDataCadastro() + 
                     "','" + associado.getSituacao() + "','" + associado.getModalidade() + "','" + associado.getCliente() + 
                     "','" + associado.getTipo() + "','" + associado.getSexo() + "','" + associado.getEstadoCivil() + "','" + 
                     associado.getEndereco() + "','" + associado.getBairro() + "','" + associado.getCidade() + 
                     "','" + associado.getCep() + "','" + associado.getProfissao() + "','" + associado.getCpf() + "','" + associado.getRg() + 
                     "','" + associado.getDataNascimento() + "','" + associado.getEmail() + "','" + fone[0] + "','" + " " + "','" + " " + 
                     "','" + " " + "','" + associado.getObs() + "')"; 
         System.out.println(query); 
          
         st.execute(query); 
                   
      } catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         } catch (SQLException e) {} 
      } 
       
   } 
    

   /** 
    * 
    * @param associado 
    */ 
   public static void atualizar (Associado associado) { 
      Connection con = null; 
      Statement st = null; 
       
      try{ 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String [] fone = associado.getFone(); 
          
         String query = "update associado set situacao='" + associado.getSituacao() + "', modalidade='" + associado.getModalidade() + "', " + 
                     "cliente='" + associado.getCliente() + "', tipo='" + associado.getTipo() + "', sexo='" + associado.getSexo() + 
                     "', estadocivil='" + associado.getEstadoCivil() + "', endereco='" + associado.getEndereco() + 
                     "', bairro='" + associado.getBairro() + "', cidade='" + associado.getCidade() + "', uf='" + associado.getUf() + 
                     "', cep='" + associado.getCep() + "', profissao='" + associado.getProfissao() + "', cpf='" + associado.getCpf() + 
                     "', rg='" + associado.getRg() + "', datanasc='" + associado.getDataNascimento() + "', email='" + associado.getEmail() + 
                     "', fone1='" + fone[0] + "', fone2='" + fone[1] + "', fone3='" + fone[2] + "', fone4='" + fone[3]+ "', obs='" + associado.getObs() + "' where adesao='" + associado.getAdesao() + "'"; 
          
         st.executeUpdate(query); 
          
      }catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         }catch (SQLException e) {} 
      } 
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static Associado [] pesquisar (String campo, String valor) { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados where " + campo + "='" + valor + "'"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCodfranqfunc(rs.getInt("codfranqfunc")); 
               aux.setDataCadastro(rs.getString("datacadastro")); 
               aux.setSituacao(rs.getString("situacao")); 
               aux.setModalidade(rs.getString("modalidade")); 
               aux.setCliente(rs.getString("cliente")); 
               aux.setTipo(rs.getString("tipo")); 
               aux.setSexo(rs.getString("sexo")); 
               aux.setEstadoCivil(rs.getString("estadocivil")); 
               aux.setEndereco(rs.getString("endereco")); 
               aux.setBairro(rs.getString("bairro")); 
               aux.setCidade(rs.getString("cidade")); 
               aux.setUf(rs.getString("uf")); 
               aux.setCep(rs.getString("cep")); 
               aux.setProfissao(rs.getString("profissao")); 
               aux.setCpf(rs.getString("cpfcgc")); 
               aux.setRg(rs.getString("rg")); 
               aux.setDataNascimento(rs.getString("datanascimento")); 
               aux.setEmail(rs.getString("email")); 
                
               String [] fone = new String[4]; 
               fone[0] = rs.getString("fone1"); 
               fone[1] = rs.getString("fone2"); 
               fone[2] = rs.getString("fone3"); 
               fone[3] = rs.getString("fone4"); 
                
               aux.setFone(fone); 
               aux.setObs(rs.getString("obs")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 
    
   public static Associado [] pesquisar (String str) { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados where cliente like '" + str + "%'"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCliente(rs.getString("cliente")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 

    
   public static Associado [] pesquisar () { 
      Connection con = null; 
      Statement st = null; 
      Associado [] associados = null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         String query = "select * from associados order by cliente"; 
          
         ResultSet rs = st.executeQuery(query); 
    
         if (rs.next()) { 
             
            ArrayList <Associado> temp = new ArrayList <Associado> (); 
            do { 
               Associado aux = new Associado (); 
               aux.setAdesao(rs.getInt("adesao")); 
               aux.setCodfranqfunc(rs.getInt("codfranqfunc")); 
               aux.setDataCadastro(rs.getString("datacadastro")); 
               aux.setSituacao(rs.getString("situacao")); 
               aux.setModalidade(rs.getString("modalidade")); 
               aux.setCliente(rs.getString("cliente")); 
               aux.setTipo(rs.getString("tipo")); 
               aux.setSexo(rs.getString("sexo")); 
               aux.setEstadoCivil(rs.getString("estadocivil")); 
               aux.setEndereco(rs.getString("endereco")); 
               aux.setBairro(rs.getString("bairro")); 
               aux.setCidade(rs.getString("cidade")); 
               aux.setUf(rs.getString("uf")); 
               aux.setCep(rs.getString("cep")); 
               aux.setProfissao(rs.getString("profissao")); 
               aux.setCpf(rs.getString("cpfcgc")); 
               aux.setRg(rs.getString("rg")); 
               aux.setDataNascimento(rs.getString("datanascimento")); 
               aux.setEmail(rs.getString("email")); 
                
               String [] fone = new String[4]; 
               fone[0] = rs.getString("fone1"); 
               fone[1] = rs.getString("fone2"); 
               fone[2] = rs.getString("fone3"); 
               fone[3] = rs.getString("fone4"); 
                
               aux.setFone(fone); 
               aux.setObs(rs.getString("obs")); 
                
               temp.add(aux); 
                
            }while (rs.next()); 
             
            associados = new Associado[temp.size()]; 
            for (int i = 0; i < temp.size(); i++) { 
               associados[i] = temp.get(i); 
            } 
         } 
      }catch (SQLException e) { 
         e.printStackTrace(); 
      } 
       
       
      return associados; 
       
   } 
    
   /** 
    * 
    * @param associado 
    */ 
   public static void excluir (String associado){ 
      Connection con = null; 
      Statement st =null; 
       
      try { 
         con = getConnection(); 
         st = con.createStatement(); 
          
         DependentesAssociadosDAO.excluir("adesao", associado);          
             
         String query = "delete from associados where adesao='" + associado + "'"; 
         st.execute(query); 
          
      }catch (SQLException e) { 
         e.printStackTrace(); 
      }finally { 
         try { 
            st.close(); 
            con.close(); 
         }catch(SQLException e) {} 
      } 
             
   } 

}
Criado 7 de março de 2007
Ultima resposta 16 de abr. de 2007
Respostas 34
Participantes 8