Sem querer abusar, gostaria de uma outra dica. Tenho um método que chama outro método passando parâmetros e um destes parâmetros é o índice de um array. Estou usando SWITCH, mas já ouvi que devemos evitar tal uso. Alguma alternativa para este caso:
publicvoiddisplay(KeyEvente){intarray;keyCode=e.getKeyCode();System.out.println(keyCode);switch(keyCode){case48:array=0;outroMetodo(e,keyCode,array);break;case49:array=1;outroMetodo(e,keyCode,array);break;case50:array=2;outroMetodo(e,keyCode,array);break;}// fim do switch}
Se puder, poderia postar o codigo do metodo outroMetodo() para poder sugerir alguma alteração e melhoria
Abração 8)
Max
FacaNaCaveira
Fala ai Carlos, uma das coisas que observei de inicio é que vc nao precisa criar a variavel Keycode, uma vez que voce consegue acessar atraves de e.getKeyCode e na passagem de parametros para outroMetodo(e, Array) pois o Keycode vc acessa atraves de e.getKeyCode().
publicvoiddisplay(KeyEvente){intarray;System.out.println(e.getKeyCode());switch(e.getKeyCode()){case48:array=0;outroMetodo(e,array);break;case49:array=1;outroMetodo(e,array);break;case50:array=2;outroMetodo(e,array);break;}// fim do switch}
Abração 8)
Max
E
entanglement
Outra coisa - não use o número 48 se o que você quer é a tecla 0. Use a constante KeyEvent.VK_0 - ela pode ser usada em um switch, se não me engano. Se não puder fazer isso, use ‘0’ (entre aspas simples).
C
cmendes
Valeu pelas dicas. Aqui vai o código com o outro método (getId)...
publicvoiddisplay(KeyEvente){intarray;keyCode=e.getKeyCode();System.out.println(keyCode);switch(keyCode){case48:array=0;getId(e,keyCode,array);break;case49:array=1;getId(e,keyCode,array);break;case50:array=2;getId(e,keyCode,array);break;}// fim do switch}publicvoidgetId(KeyEvente,intkeyCode,intarray){if(e.getID()==KeyEvent.KEY_PRESSED){teclas[array].setBackground(color);}elseif(e.getID()==KeyEvent.KEY_RELEASED){teclas[array].setBackground(normal);}}
Existe alternativa a este switch? (ainda não fiz alterações no código - quero resolver este problema (???) do switch primeiro)