Swing - GridLayout

1 resposta
A

Eh o seguinte tenho um panel com caixas de texto dispostas horizontalmente e verticalmente como uma matriz com o GridLayout. Acontece que quando eu avanço o icone nas caixas de texto com o “tab”, ele vai horizontalmente, e eu queria que ele avançace verticalmente, como eu trato isto??

1 Resposta

D

Bom, tem duas formas de se fazer isso:
Imaginemos o seguinte exemplo:

jtxf1 jtxf2
jtxf3 jtxf4

Primeiro exemplo:

jtxf1.setNextFocusableComponent(jtxf3);

jtxf3.setNextFocusableComponent(jtxf2);

jtxf2.setNextFocusableComponent(jtxf4);

jtxf4.setNextFocusableComponent(jtxf1);

porem observe que embora funcione, mas este metodo esta como deprecated na api.

Segundo exemplo:

Programe o evento FocusLost de todas as caixas para passar o Focus para a caixa que vc quiser, exemplo:

private void jtxf1FocusLost(java.awt.event.FocusEvent evt) {

jtxf3.requestFocus();

}

private void jtxf3FocusLost(java.awt.event.FocusEvent evt) {

jtxf2.requestFocus();

}

private void jtxf1FocusLost(java.awt.event.FocusEvent evt) {

jtxf4.requestFocus();

}

private void jtxf4FocusLost(java.awt.event.FocusEvent evt) {

jtxf1.requestFocus();

}
Criado 18 de agosto de 2006
Ultima resposta 19 de ago. de 2006
Respostas 1
Participantes 2