Pessoal, tenho por exemplo 5 jTextfield, no qual o usuario determina qual campo deve ser ativo ou não.
Vamos supor que o jTextfield 2 e jTextfield 4 não deve ser preenchidos, sendo assim os proximos jTextfield recebendo o foco,
Para Avançar:
quando recebe o jTextfield2 recebe o foco ele verifica que este campo não está editable fazendo assim um jTextfield3.requestFocus() e o mesmo ocorre com o jTextfield4.
até ai tudo blz. o problema é o seguinte
E para recuar?
como eu conseguiria fazer para quando eu apertasse a tecla de recuar do jTextfield3 para o jTextfield2, o mesmo verificasse se o jTextfield2 está ativo e vendo que não está, ele solicitasse o focus para o jTextfield1 ?
alguém pode me dar uma luz nisso? pois vou trabalhar com mais de 10 campos e não estou conseguindo desenvolver essa lógica
Obrigado desde já! qualquer ajuda é bem vinda!
segue forma que consegui fazer:
[code]/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package javaapplication2;
import java.util.ArrayList;
import javax.swing.JComponent;
import javax.swing.JTextField;
/**
*
-
@author Rodrigo-PC
*/
public class AvancarRecuar {
ArrayList listaComp = new ArrayList();
public ArrayList getListaComp() {
return listaComp;
}
public void setListaComp(ArrayList listaComp) {
this.listaComp = listaComp;
}
public void Avancar(JComponent componente) {
int posicao = listaComp.indexOf(componente);
for (int i = posicao + 1; i < listaComp.size(); i++) {
if (listaComp.get(i).isEnabled()) {
if (listaComp.get(i) instanceof JTextField) {
if (((JTextField) listaComp.get(i)).isEditable()) {
listaComp.get(i).requestFocusInWindow();
break;
}
}
}
}
}
public void Recuar(JComponent componente) {
int posicao = listaComp.indexOf(componente);
for (int i = posicao - 1; i >= 0; i–) {
System.out.println(i);
if (listaComp.get(i).isEnabled()) {
if (listaComp.get(i) instanceof JTextField) {
if (((JTextField) listaComp.get(i)).isEditable()) {
listaComp.get(i).requestFocusInWindow();
break;
}
}
}
}
}
}
[/code]
Abraços a todos