JPasswordField!

Como faço para converter o texto de um JPasswordField para a string real ?

Eu fiz assim

 public Password() 
   {
      passwordField = new JPasswordField(20);
      passwordField.setEchoChar('#');
      passwordOptionPane = new JOptionPane();
      passwordOptionPane.setMessage(new Object[] {"Password:", passwordField});
      JDialog dialog = passwordOptionPane.createDialog(this, "Password");
      dialog.show();
     // passwordOptionPane.showConfirmDialog(passwordField," ","Password"); 
      sPasswordDigitado = new String(passwordField.getPassword());
     
   }

Não entendi… Tipo se eu quizer que ele seja exibido em uma JOptionPane.showMessage…quando o usuário clicar em um JButton
Como faço ???

String pwd = new String( pwdField.getPassword() );
JOptionPane.showMessage(seuFrame, “Titulo”, pwd, …);

Não entendo a dificuldade.

Galera!

Tenho outra duvida com JPasswordField, tenho um campo de senha no meu programa e preciso limitar com 10 caracteres e não consigo fazer de maneira alguma, alguem tem ideias??

Eu vi alguns foruns falando pra fazer assim:

jPFSenha     = new javax.swing.JPasswordField(10);

mas nao adianta, pois eu digito e passa do limite de 10 caracteres!

Alguem pode me ajudar por favor!

Grato
Lucas

public class Frame extends JFrame {

	private JPasswordField password;
	
	public Frame(){
		JPanel panel = new JPanel();
		panel.setLayout(null);
		panel.setPreferredSize(new Dimension(300, 200));
		password = new JPasswordField();
		password.setBounds(10, 10, 120, 20);

		password.addKeyListener(new KeyAdapter(){
			@Override
			public void keyTyped(KeyEvent e) {
				if(password.getPassword().length >= 3){
					e.consume();
				}
			}
		});
		
		panel.add(password);
		this.add(panel);
		this.setLocationRelativeTo(null);
		this.setVisible(true);
		this.pack();
		this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
	
	public static void main(String[] args) {
		new Frame();
	}

}

ivo costa vlw mesmo, está funcionando perfeitamente!

abraços!

Lucas