bom pessoal sou novo no java, gostaria que alguem me ajudase com a minha tela de login e o seguinte eu estou usando jTextFild para entrar com o usuario e JPasswordFild para a senha… e que eu gostaria que quando eu digitar o usuario e a senha… o meu codigo pegase o nome do usuario e senha de TextFild e comparase com uma senha que eu defino e fechar e chamar uma outra tela. estou mandando o codigo para que vcs ajuste para mim por favor…
Alguem pode me ajudar com a minha tela de login
3 Respostas
Sanches,
[email removido] esqueceu de mandar o código. mas posso te ajudar. Antes quero te fazer uma pergunta: vc está com a documentação do Java? Se não baixe logo. É impraticável programar sem ter a documentação. Espero que seu ingles seja razoável (o meu também não é bom) porque não tem tradução. Mas dá para desenrolar. enfim, oq ue você de ve fazer é usar a sua aplicação sendo do tipo MVC (model view controler) Quer dizer vc vai tornar separado a visão do modelo de dados e da parte de controles. Quando vc for usar tanto o jtextfield como o jpasswordfield vc deve setar em cada um deles um PlainDocument (olha na documentação). daí a a partir deste document vc manipula os dados. Então vc faria assim:
Criaria uma classe onde seria seu modelo. Assim lá teria dois Plain document. um para o text field e outro para o passwordfield. uma nnuma outra classe vc cria a tela (visão) e no construtor vc passa esse classe modelo criada como parametro. Daí a a partir dela v c seta os documents nos fields. E o botão não tem modelo, no caso ele teria uma ação que corresponde o controller do mvc. daí vcd cria uma classe que extende abstractaction e descreve o que esse botão vai fazer no método actionperformed. Daí para que vc tenha acesso aos dados vc vai colocar no construtor da action o modelo como parametro.
No caso da troca de tela só é vc usar o gerenciador de layout CardLayout. ele permite que vc tenha várias telas e em cada momento dizer qual vai aparecer. Olha a documentação que dá para ter uma idéia. Se não entendeu me diz que te mando um exemplo.
Abraços,
Mas se você não quiser complicar muito por enquanto, é só pegar os valores e comparar, aí se forem iguais você abre a outra tela.
public class telaLogin extends JFrame implements ActionListener{
private JTextField nome = new JTextField(10);
private JPasswordField senha = new JPasswordField():
private JButton entrar = JButton("Entrar");
private usu = "nomedousuario";
private pass = "senhadousuario";
public telaLogin(){
add(nome);
add(senha);
entrar.addActionListener(this);
add(entrar);
public void actionPerformed(ActionEvent evt){
if(usu.equals(nome.getText())&&pass.equals(new String(senha.getPassword()))){
TelaPrincipal principal = new TelaPrincipal();
principal.setVisible(true);
this.setVisible(false);
this.dispose();
}
}
}
valeu galera deu certo muito obrigado…