Estou precisando criar um programa em que um determinado caracter seja movido numa matriz, tudo isso deve ser feito em console. Estou tendo dificuldade em capturar a entrada no teclado, existe algum tipo de captura de eventos em java que possa ser usado no console?
Só preciso de alguma ajuda em como capturar esses dados, não é necessário receitinha pronta, mas toda e qualquer dica ou ajuda será bem vista :
Procure pela classe Scanner, da biblioteca java.util.
ViniGodoy
Para ler do teclado, você pode fazer:
Scannerscan=newScanner(System.in);Stringlinha=scanner.nextLine();//Lê uma linha do console
Infelizmente, o java tem um suporte pífio a console. Não é possível, por exemplo, simplesmente monitorar uma tecla, como o getch() do C faz.
atsuki
Eu tenho conhecimento de como usar o scanner, mas com ele é preciso digitar a letra e logo após pressionar enter.
Usando o próprio scanner ou algum evento é possivel capturar a tecla digitada e executar a respectiva ação sem que seja necessário pressionar enter? Penso que assim tudo torna-se muito mais fluido.
Edit: Obrigado ViniGodoy, procurei tanto pela solução deste pequeno problema que não me surpreendo em não ser possivel resolve-lo no console.
Obrigado Pela Ajuda.
claudneto
Não é uma aplicação swing?
Se for, vc pode colocar o evento no change do text field/area. Conforme for mudando o valor do text field, ele vai executando o código.
atsuki
A priori eu pretendia fazer em console, mas vou fazer em swing mesmo e qualquer nova duvida eu volto aqui.
Muito obrigado pela ajuda.
Andre_Rosa
Se realmente quiser fazer isso, implemente uma DLL com uma função em C que faça isso, usando getch(), como foi sugerido.
ViniGodoy
Como falei acima, não. O java não tem esse tipo de suporte. =/