JPasswordField uses document.getText(), which returns a String.
I'd say you'd have to roll-your-own textfield for what you want.
one way might be to create a JTextField that is limited to 1 character,
it has no borders/margins etc, so it's just a little white square. you add
say 15 of these to a GridLayout panel, then you set the panel's border
to that of a normal textfield, so it should look like one textfield.
focuslisteners needed to check
1) if prior textfield empty, move the focus there
2) if textfield already has 1 character, move focus to next textfield
hard part will be handling e.g password is java, and you type jva,
you can place the caret between jv and add a.