RequestFocus não esta funcionando

6 respostas
E

Pessoal seguinte eu tenho um JPanel e dentro dele tenho um jtextField o qual gostaria de fazer um requestFocus no momento da abertura do JInternalframe, eu coloco no método construtor da classe que tem o meu JTextField um requestfocus, mas não funciona o cursor não vai para o campo do JtextField na hora q eu faco um setvisible desse JInternalFrame. Caso alguém possa me ajudar ficaria grato !!!

6 Respostas

ksmarini

até gostaria de ajudar, mas vc não colocou o nem uma parte do código. O normal é colocar mais ou menos assim:

nomeDoTextField.setVisible(true);
nomeDoTextField.requestFocus();

Compartilha mais informações aí que melhora o entendimento do problema.

E
ksmarini:
até gostaria de ajudar, mas vc não colocou o nem uma parte do código. O normal é colocar mais ou menos assim:

nomeDoTextField.setVisible(true);
nomeDoTextField.requestFocus();

Compartilha mais informações aí que melhora o entendimento do problema.

É como eu falei acima eu coloquei o JTextField dentro de um JPanel, e dai no método Construtor da minha classe do JInTernalFrame eu chamo o request e mesmo assim não funcional código seria +- assim

//Método construtor do meu JIternalFrame
public CadastrarClientes (){

  initComponents();
  jtextfield1.requestFocus() // Que não faz nada, não coloca o cursor no JtextField

}

Se o JTextField estiver fora do JPanel dai funciona como no código acima, agora se tiver dentro de um Containner que seria o JPanel não funciona. Gostaria de saber como fazer um request de um componente dentro de um JPanel, e pq da forma que estou tentando fazer não está funcionando !!!

ViniGodoy

Primeiro de tudo, a documentação não recomenda o uso do requestFocus(). O ideal é usar o requestFocusInWindow().

Depois, o request focus só funciona depois que seu componente estiver visível.
Portanto, retire-o do construtor e mude-o para o evento WindowOpened do seu frame.

ksmarini

Não sei se ajuda muito mas achei isso no fórum, dá uma olhada aí.

E

ViniGodoy:
Primeiro de tudo, a documentação não recomenda o uso do requestFocus(). O ideal é usar o requestFocusInWindow().

Depois, o request focus só funciona depois que seu componente estiver visível.
Portanto, retire-o do construtor e mude-o para o evento WindowOpened do seu frame.

Opa e ai blz, fiz da forma de vc disse acima e mesmo assim não consigo fazer um request do jtextfield dento de um jpanel, o que mais poderia ser ??

E

Alguem poderia me ajudar, ainda continua com o mesmo problema

Criado 27 de dezembro de 2011
Ultima resposta 28 de dez. de 2011
Respostas 6
Participantes 3