Comparar jPassword com uma string denominada (ajudem por favor)..[RESOLVIDO]

Galera eu quero que o jPassword seja comparada a string mais eu não consiguo fazer isso
já tente getText() getPasswod() metodo equals e nada.
por favor algum mim ajuda

[code]package Apresentacao;
import javax.swing.JOptionPane;

/**
*

  • @author Milar Flores
    */
    public class WelcomeLogin extends javax.swing.JFrame {

    TelaInicial TI = new TelaInicial();

    public void boasvindas() {
    JOptionPane.showMessageDialog(null, " SEJA BEM VINDO");
    }

    public void explicaLogin() {
    JOptionPane.showMessageDialog(null, “Informe seu nome de usuário e senha, na poxima janela.”);
    }

    public void verificaComponentes() {
    boolean aux = false;
    if (this.jTUsuario.getText().equals("")) {
    aux = true;
    } else if (this.jPSenha.getText().equals("")) {
    aux = true;
    }
    if (aux == true) {
    JOptionPane.showMessageDialog(null, “Por Favor insira o usuário juntamente a senha.”);
    }
    }

    public void verificaUsuario() {
    boolean aux = false;
    boolean aux2 = false;
    if (this.jTUsuario.getText().equals(“amanda”)) {
    aux = true;
    }
    else if (this.jPSenha.getText().equals(“milarfloresflore”)) {
    aux2 = true;
    }
    if (aux == false && aux2 == false) {
    JOptionPane.showMessageDialog(null, “Usuário ou senha incorretos.”);
    }
    if (aux == true && aux2 == true) {
    this.TI.setVisible(true);
    }
    }[/code]

Já tentou assim:

if ("senhaquevocedeseja".equals(new String(jPSenha.getPassword()))) {
// é igual
}

tenta esse:

[code]
String umValor = “abc”;
char[] c = umValor.toCharArray();
char[] s = senha.getPassword();

	if (Arrays.equals(c, s)){
		System.out.println("Iguais");
	} else {
		System.out.println("Diferentes");
	}[/code]

Mano desse jeito aki não roda

if ("mandinha4555".equals(new String(this.jPSenha.getPassword()))) { aux2 = true; }

ainda vou testar esse aki é por que eu sou novato na area e demoro um pouco pra entender as opiniões da galera vlw por tudo

[code]String umValor = “abc”;
char[] c = umValor.toCharArray();
char[] s = senha.getPassword();

    if (Arrays.equals(c, s)){  
        System.out.println("Iguais");  
    } else {  
        System.out.println("Diferentes");  
    }  [/code]

Código comentado!

//Crio uma string qualquer String umValor = "abc"; //Transformo essa string num vetor de char char[] c = umValor.toCharArray(); //Pego a senha no jPasswordField char[] s = senha.getPassword(); //Utilizo o método equals da classe Arrays que vai verificar // se ambos vetores de caracteres são iguais if (Arrays.equals(c, s)){ System.out.println("Iguais"); } else { System.out.println("Diferentes"); }

[quote=milarflores]Mano desse jeito aki não roda

if ("mandinha4555".equals(new String(this.jPSenha.getPassword()))) { aux2 = true; }
[/quote]
Como assim não roda? Porque compila. Apesar disso, parece que comparar os arrays de char é melhor.

[quote=marcobiscaro2112][quote=milarflores]Mano desse jeito aki não roda

if ("mandinha4555".equals(new String(this.jPSenha.getPassword()))) { aux2 = true; }
[/quote]
Como assim não roda? Porque compila. Apesar disso, parece que comparar os arrays de char é melhor.[/quote]

O problema é que o Java transforma vetores em strings totalmente estranhas, veja:

[code]public static void main(String[]args)throws Exception{
char[] abc = {‘a’, ‘b’, ‘c’};
int[] num = {1, 2, 3};

	String abcString = abc.toString();
	String abcInt = num.toString();
	
	System.out.println(abcString);
	System.out.println(abcInt);
}[/code]

Saída: [C@1bab50a e [i][I@1bab50a[/i] :wink:

Mas o método usado não é o char[].toString() e sim o new String(char[]).

Tem 2 formas pra você pegar o valor do JPasswordField e transformar em String:

uma é da forma que disse o marcobiscaro2112:

if("marcelo".equals(new String(password.getPassword())))

Ou então se vc não quer criar uma String ou não entende muito bem esse new String(char[]) vc pode fazer o seguinte:

password.selectAll(); //aqui vc faz com que o password seja selecionado if("marcelo".equals(password.getSelectedText())) //aqui vc pega o texto selecionado

Abrs

Galera vlw por tudo mais decobrir o problema sem precisar alterar meu método de fazer o método…

[code]package Apresentacao;
import javax.swing.JOptionPane;

/**
*

  • @author Milar Flores
    */
    public class WelcomeLogin extends javax.swing.JFrame {

    TelaInicial TI = new TelaInicial();

    public void boasvindas() {
    JOptionPane.showMessageDialog(null, " SEJA BEM VINDO");
    }

    public void explicaLogin() {
    JOptionPane.showMessageDialog(null, “Informe seu nome de usuário e senha, na poxima janela.”);
    }

    public void verificaComponentes() {
    boolean aux = false;
    if (this.jTUsuario.getText().equals("")) {
    aux = true;
    } else if (this.jPSenha.getText().equals("")) {
    aux = true;
    }
    if (aux == true) {
    JOptionPane.showMessageDialog(null, “Por Favor insira o usuário juntamente a senha.”);
    }
    }

    public void verificaUsuario() {
    boolean aux = false;
    boolean aux2 = false;

     if  (this.jTUsuario.getText().equals("Milar")) {
         aux = true;
     } 
     /* aki eu tava colocando um else antes do if não sei o quando tava dando errado quando complilava mais aí eu tirei o else iaí pegou tranquilo*/
     if (this.jPSenha.getText().equals("milar")){
         aux2 = true;
     }
     if (aux == false || aux2 == false) {
         JOptionPane.showMessageDialog(null, "Usuário ou senha incorretos.");
     }
     if (aux == true && aux2 == true) {
         this.TI.setVisible(true);
     }
    

    }[/code]

Galera vlw vlw por tudo