JOptionPane.showMessageDialog com Focu

e ai galera blz,
e o sequinte
tenho esse codigo

   JTextField jcodigo = new JTextField(10);
   JOptionPane.showMessageDialog(null, jcodigo,"Informe o codigo",JOptionPane.PLAIN_MESSAGE);

o que acontece é que o focu vem no botao, mas eu gostaria que o focu ficasse na jcodigo. isto seria possivel??

valeu

a unica coisa dificil é entender oq vc ta querendo fazer.
Se eu entendi bem vc quer mostrar um JOptionPane e quando a pessoa clicar em OK o foco ir para um JTextField.
É isso mesmo?

nao seria melhor colocar um showInputDialog?!

mas se ja existe um JTextField pq num digita direto nele?

Bom, ficou meio confuso o que você quis dizer, mas vc não precisaria desse JOptionPane já que você tem um JTextField jcodigo.

vou usar JOptionPane, pq as vezes vou ter um JTextField outras vezes um JFormattedField, outras um JCombobox etc

por isso que passei o exemplo apenas do JTextField.

mas o que eu quero é que quando o JOptionPane apareca o foco fique no objeto passado a ele.

obs eu usei JOptionPane.showInputDialog, mas dessa forma ele fica com 2 JTextField.

Agora eu entendi oq vc quer fazer, para fazer isso vc precisa usar o metodo showOptionDialog.
Ele tem mais recursos, e um desses recursos é vc deixar o foco no componete que vc quer.
Da uma olhada no código abaixo.

JTextField jcodigo = new JTextField(10); JComboBox jcombo = new JComboBox(); jcombo.addItem("1"); jcombo.addItem("2"); String opcoes[]={" OK ","CANCELAR"}; JOptionPane.showOptionDialog(null, jcodigo,"Informe o codigo",JOptionPane.PLAIN_MESSAGE,0,null,opcoes,jcodigo); JOptionPane.showOptionDialog(null, jcombo, "Informe o codigo",JOptionPane.PLAIN_MESSAGE,0,null,opcoes,jcombo);
O ultimo parametro é para deixar o foco no componente.

para quem teve o mesmo problema:

String[] options = {"OK", "Cancel"}; int result = JOptionPane.showOptionDialog(null, txfName, "Enter a name", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, null);Percebam que o null na última opção deixa o showOptionDialog sem as opções e o foco vai direto para o textField.

[]s