Jpassword field,

OI,
em si o código ta funcionando legal , o unico problema é que quando ele abre tenho que selecionar na barra de tarefas do windows para que eu possa digitar no campo que abre , alguem sabe um jeito de ele ja ficar selecionado? tai o codigo que to usando .

public boolean ValidaSenha() { JPasswordField jpassword = new JPasswordField(); if (JOptionPane.showConfirmDialog(null, jpassword, "Entre com a senha", JOptionPane.OK_CANCEL_OPTION) == JOptionPane.OK_OPTION) { if (new String(jpassword.getPassword()).equalsIgnoreCase(fp.getSenha())) { return true; } else { JOptionPane.showMessageDialog(null, "Senha Inválida"); return false; } } return false; }

Crie seu próprio JDialog.

Crie um frame para validar sua senha

eu crie eu Jdialog mais acontece a mesma coisa… ou seja , não consigo selecionar o campo de senha ao menos que clique em outro lugar primeiro como o botão ok , por exemplo

Acredito que esse “fp.getSenha()” ta dando alguma zinca pois testei seu código aqui substituindo ele por uma string e ta funfando certinho…

Agora, ao final do construtor do seu JDialog, faça:
seuCampoDeSenha.requestFocusInWindow();

Não funcionou vini

       jPasswordField.requestFocusInWindow();

Até fiz um teste e retorna false

System.out.println(jPasswordField.requestFocusInWindow());

estou usando da maneira certa ?

public Password(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        jPasswordField.requestFocusInWindow();
    }

Essa é o contrutor da classe

isso é uma classe mais o problema não está na confirmação da string e sim que o campo de senha não está em focus e não consigo fazer com que ele inicie selecionado.