Entendendo HashSet, AWTKeyStroke

2 respostas
O

Boa tarde caros amigos.

Sou iniciante em java, estou tentando desenvolver um aplicativo MDI.
Hoje pesquisei no google uma coisa bem normal entre os sistemas que é a funcionalidade do ‘ENTER’ como ‘Tab’
e achei o seguinte código.

HashSet conj = new HashSet (this.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS)); 
    conj.add(AWTKeyStroke.getAWTKeyStroke( KeyEvent.VK_ENTER , 0));
    this.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, conj);

Esse código é uma maravilha faz exatamente o que eu desejo.
Porém gostaria de entende-lo para usar melhor.

Procurei muitas vezes no google para que server o ‘HashSet’ não consegui achar em nenhum lugar uma explicação claro sobre ele.
E isso tambem aconteceu com o AWTKeyStroke.

2 Respostas

T

Todo HashSet é um java.util.Set, e todo Set é um conjunto (ou seja, uma coleção de itens não-repetidos).

Portanto você tem de passar para esse método (setFocusTraversalKeys) um conjunto de AWTKeyStroke que representam as teclas que são usadas para efetuar a mudança de foco.

Um AWTKeyStroke representa um acionamento de tecla. Não é usado um código ASCII, porque como você deve saber, não é possível representar todas as teclas do teclado só com códigos ASCII (por exemplo, ALT, F1 etc. não têm códigos ASCII).

O

Vamos ver se eu entendi.
Quando o programa passa na linha :
HashSet conj = new HashSet (this.getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
Ele cria um conjuntos com todas as Teclas que podem ser utilizadas para mudar o focu do campo.

Depois ele adiciona nesse conjunto a tecla Enter e substituo o conjunto do meu Jframe.
Estou seguindo o raciocínio correto?

Criado 25 de julho de 2008
Ultima resposta 29 de jul. de 2008
Respostas 2
Participantes 2