Olá,como podem ver eu sou novo no forum, e gostaria da opinião de voces.Fiz meu primeiro programinha em java e gostaria que voces avaliassem ele,é bem básico.
1 - Programinha ;D
4 Respostas
Caramba… tb tou começando agora, mas estou impressionado… só que copiei compilei mas nuam rodou, pede loguin e senha, se não digito diz que é obrigatorio e se digito da o seguinte erro org.postgresql.Driver
Olá,
tava dando uma lida nas suas classes, tenho umas dicas:
Na classe Conexao.java, voce nao deveria declarar cada parametro de conexão como uma string. Você poderia fazer um Map de Properties no caso, aqui tem um bom link sobre isso:
Outra coisa, para tratar erros, dá um olhada no Log4J. Não é um jeito bem legal tratar exceptions com e.printStackTrace();
Ao invés de mandar abrir e fechar a conexão o tempo todo, deixa só uma conexão como static. Voce vai economizar tempo e o trabalho de ficar digitando fecharConexao() o tempo todo.
Esse são os comentários sobre a classe conexao.
Agora sobre a classe de login…
Olha, eu achei o código dela muito grande e com um montão de coisas. Você poderia reduzir isso. Como? Usa um layout. Como é so uma tela de Login, vc poderia usar o GridLayout(). Ai voce ja ia tirar todos esses setbounds ai.
Outra coisa, uma regra da programação OO: ENCAPSULE O QUE VARIAR. Aplique um encapsulamento em cada componente.
Bem, eu nao sei se é certo mas me ajuda muito. Quando vou criar um form, ao invés de digitar uma porrada de botão, eu crio so uma classe que vai retornar buttons e vai receber um ActionListener. Por ex: Se eu quero um botão para abrir e outro para fechar, vc ha de convir que os dois botões são iguais, so varia o caption de cada um deles e o ActionListener. Então faça uma classe que retorne botões e pegue actionListeners.
Sobre o metodo que vc criou o validaCampos, eu acho que vc poderia fazer essa validação em cada um dos campos mesmo. Ou entao criar uma classe dessas que receba um varargs de TextFields, Retornar uma mensagem caso a pessoa pule o campo sem nada. E ja começar com o focus em um dos TXT seu. Seria interessante que vc criasse um actionListener para cada membro, ao invés daquele getSource() imenso.
Sobre a classe Usuario, está bem composta. Mas eu acho que voce deveria logo de cara aprender a usar o Hibernate. SQL é uma bosta pra dar manutenção.
mas cara, como voce é iniciante eu me surpreendi com a qualidade do seu código em uma série de coisas.
Voce ja programou em outra linguagem? Você seguiu até as coisas mais bestas (regras de nomeação NetBeans) a risca. Isso é um ponto a mais. Achei tudo bem organizadinho.
Parabéns!
No lugar do Log4J você também pode usar as próprias classes de log do Java:
http://java.sun.com/j2se/1.5.0/docs/guide/logging/overview.html
http://java.sun.com/j2se/1.4.2/docs/guide/util/logging/
http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/package-summary.html
Outros comentários:
- lembre-se de fechar a sua conexão e statements num bloco finally. Caso contrário, uma exceção pode deixa-los abertos.
- Crie um listener para cada botão. Isso evita aquele if gigantesco e ineficiente. Melhor ainda, ao invés de usar o ActionListener, crie uma Action para ação da tela (por exemplo, “Novo”) e então associe a ação ao botão. A vantagem é que a mesma ação pode ser também adicionada a menus, menus popup, teclas de atalho, etc.
No mais, concordo com o pessoal. Começou muito bem! 
Agradeço os comentários ^^
O erro eh pq precisa do banco de dados postgre e as tabelas para funcionar direitinho.
Já programei, so que para web.
Nota : usei só jcreator nenhuma ide grafica ^^
Comprei o livro “use a cabeça!Java” recomendo pra quem estiver começando.