Trocando TAB por ENTER e ENTER por ASTERISCO

Estou desenvolvendo um sistema em java utilizando o evento ActionPerformed no NetBeans 6.5.1. Desde já agradeço imensamente o pessoal que postou o código a seguir:
Set<AWTKeyStroke> key1 = new HashSet<AWTKeyStroke>();
key1.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_ENTER, 0));
KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, key1);
 Funciona perfeitamente para trocar o foco utilizando a tecla ENTER. Só que o pessoal aqui da empresa está acostumado a utilizar um sistema anterior em Delphi e utiliza muito teclado numérico somente. Então gostaria de disparar agora o evento ActionPerformed por uma das teclas do teclado numérico, de preferência através da tecla ASTERISCO. 
Agradeço desde já algum esclarecimento.

Olá!

Troque o KeyEvent.VK_ENTER por KeyEvent.VK_MULTIPLY.

O único inconveniente é que só funciona o asterisco do teclado numérico. O asterisco que fica em cima do 8 não funciona.

Eliangela

Desculpe Eliangela, mas a indicação de implementação não funcionou. Poderia, se possível, dar mais detalhes da sua implementação?

Pelo que eu entendi, vc quer mudar de campos usando o *. Se for isso vc pode usar esse código abaixo, que é quase idêntico ao que vc postou, só que, ao invés de colocar VK_ENTER, vc troca por VK_MULTIPLY, que o * do teclado numério funciona para trocar de campos.

Set&lt;AWTKeyStroke&gt; key1 = new HashSet&lt;AWTKeyStroke&gt;(); key1.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_MULTIPLY, 0)); //essa linha aqui: VK_MULTIPLY = * do teclado numérico KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, key1);

Ah, sim…
Este código vc coloca no construtor do seu JFrame.

Ah sim, Eliangela! Eu não me expressei bem. Eu troquei o TAB pelo ENTER utilizando o source apresentado. Só que eu perdi a função do enter de ativar os métodos embutidos nos botões, por exemplo. Então queria passar para a tecla asterisco a função do enter de ativar os eventos dos botões, por exemplo. No caso seria qualquer evento que a tecla enter dispara.

Usa esse código então:

[code] jButton1.addKeyListener(new KeyAdapter() {

    @Override
    public void keyTyped(KeyEvent e) {
        if (e.getKeyChar() == '*') {
            System.out.println("Funcionou *");
        }
    }
});[/code]

Quando vc apertar * no botão, vai ser como se tiver apertado ENTER.
*** Espero que desta vez eu tenha entendido, rsrs

Então Eliangela fiz o seguinte:
  1. Utilizei no sistema o seguinte código, mas como você disse anteriormente para o asterisco eu troquei para ESPAÇO:

//-------------------- UTILIZANDO ESPAÇO PARA TROCAR DE FOCO -----------------// Set<AWTKeyStroke> key1 = new HashSet<AWTKeyStroke>(); key1.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_SPACE, 0)); KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, key1); //----------------------------------------------------------------------------//

  1. Em seguida, conversando com o gerente do projeto utilizamos o seguinte teclado: (Sem apologia ao fabricante, poderia ser qualquer outro)
    http://www.mtek.com.br/index.asp?Page=produtos.asp&Id=172

    Com isso mantivemos a tecla ENTER e trocamos a funcionalidade do FOCO para uma tecla em destaque no teclado. Foi uma solução bem plausível para o nosso caso.
    Venho através desta mensagem também agradecer pelas contribuições e espero que a gente possa se encontrar mais vezes no fórum para estar sempre trocando idéias sobre java. :slight_smile:

[quote=abraao895] 2) Em seguida, conversando com o gerente do projeto utilizamos o seguinte teclado: (Sem apologia ao fabricante, poderia ser qualquer outro)
http://www.mtek.com.br/index.asp?Page=produtos.asp&Id=172[/quote]

Bom… sobre o teclado, realmente se vc teclar espaço, acaba com a mesma funcionalidade do Enter.

[quote=abraao895] Com isso mantivemos a tecla ENTER e trocamos a funcionalidade do FOCO para uma tecla em destaque no teclado. Foi uma solução bem plausível para o nosso caso.
Venho através desta mensagem também agradecer pelas contribuições e espero que a gente possa se encontrar mais vezes no fórum para estar sempre trocando idéias sobre java. :)[/quote]

E tbem espero que continuemos a nos encontrar no fórum pra trocar umas idéias… .esse código que vc postou pra trocar o TAB por ENTER eu ainda não conhecia e foi muito útil pra mim no projeto que estou fazendo.
Obrigada :slight_smile: