Mudar foco somente de um JTextField para Outro JTextField

4 respostas
M

Olá para todos! Como posso fazer para mudar o foco de um JTextField para outro JTextField? Fiz um código assim mas não funcionou...

Classe Principal

public class Teste extends javax.swing.JFrame {

    private Component comp[];
    /** Creates new form Teste */
    public Teste() {
       
        initComponents();
        // Método Construtor que inicializa um vetor com todos os componentes do frame!
        comp = jPanel1.getComponents();
        System.out.println("Número de componentes .: "+comp.length);
      
    }

Ação do botão que muda(ou deveria) foco para o próximo JTextField

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
        for (Component component : comp) {

       // clausula de comparação    
if(component instanceof JTextField && !component.isFocusOwner())
           {
           component.requestFocus();
           break;
           }
  
        
    }
    }

Obrigado!

4 Respostas

I
textField.grabFocus();
M

Fale Igor! Obrigado pela resposta! mas neste caso, eu queria que o programa entendesse o component como parametro para este método! senão teria que setar o mesmo para o primeiro jtexfield , depois para o segundo, e assim vai… queria q component fizesse isso… nao sei se fui claro… e outra …

I

Marcio, da uma olhada na api pra ver a diferenca entre os métodos, pois eu realmente não lembro…ainda assim não consegui compreender o seu problema.
vlw!

M

Vou olhar a api mesmo… obrigado… o problema é o seguinte… queria que a passagem de foco fosse automática e feita de uma só vez com um método somente… por exemplo : Da forma que esta feito o programa, o evento para passar de um JTextField para outro é setado diretamente no JTextField… tipo assim, eu tenho o JTextField txt1 e quero passar para o txtfield2, entao eu teria que fazer no txt1, que quando fosse apertado Enter , o seguinte método fosse chamado : txtfield2.grabfocus… e desta forma assim pros outros jtextfield´s que eu vier a ter na minha aplicação… queria um metodo que automatisse isso e independesse de ser colocado como evento diretamente no textfield, entendeu??? :slight_smile:

Criado 9 de junho de 2010
Ultima resposta 15 de jun. de 2010
Respostas 4
Participantes 2