JOptionPane.showMessageDialog com Focu

7 respostas
C

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

7 Respostas

kapa01

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?

Marlon_Meneses

nao seria melhor colocar um showInputDialog?!

kapa01

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

Leandro_Vecchi

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

C

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.

kapa01

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.

Alb_ico

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

Criado 21 de outubro de 2008
Ultima resposta 18 de out. de 2010
Respostas 7
Participantes 5