Jtable: selecionar celula especifica

5 respostas
H

Antes q digam q tem varios posts desses no forum, ja vou dizendo q li todos mas n consegui resolver esse problema.

Seguinte, tenho um JTable, e qnd clico ENTER, ele muda p proxima celula, e eu n queria q fizesse isso, pois to usando o evento de teclado qnd digita ENTER p abrir um dialog e dps voltar p celula selecionada anteriormente, e nao mudar p proxima celula, como está fazendo.

Entao queria fazer q qnd eu desse ENTER na celular, ele n selecionasse a proxima celula e ficasse na celula onde foi clicado o ENTER. Alguem desenrrola?

Ja usei uma porrada de metodos mas ate agora nd…Minha JTable nao esta permitindo edicao e está com selecao unica.

Queria q aquele maldito azuzinho q indica selecao na celula, continuasse nela qnd desse ENTER, vlw…

5 Respostas

M

Você tentou “ActionMap” ??

ivo_costa

Tenta:

tabela.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyTyped(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
      //Ou tenta
      public void keyPressed(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
});
S

Não teria como remover o listener do teclado do JTable?

H

ivo costa:
Tenta:

tabela.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyTyped(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
      //Ou tenta
      public void keyPressed(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
});

pegou, vlw msm brother…

so p entender, esse evt.consume(), como o proprio nome sugere, deve consumir o evento, no caso, do ENTER e entao, ele n pula a linha, eh isso ne?

ivo_costa

hlds:
ivo costa:
Tenta:

tabela.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyTyped(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
      //Ou tenta
      public void keyPressed(java.awt.event.KeyEvent evt) {
           if (evt.getKeyCode() == KeyEvent.VK_ENTER){
                  evt.consume();
                   //Faz o resto do código;
           }
      }
});

pegou, vlw msm brother…

so p entender, esse evt.consume(), como o proprio nome sugere, deve consumir o evento, no caso, do ENTER e entao, ele n pula a linha, eh isso ne?

Isso mesmo, o consume vai aniquilar o evento da tecla e vc pode fazer o que quizer depois.

flw!

Criado 8 de abril de 2008
Ultima resposta 9 de abr. de 2008
Respostas 5
Participantes 4