Console Java!

12 respostas
elcapote

Ola a todos!

Estou com um probleminha. Eu gostaria de pegar “eventos” do teclado tipo apertando F1 ele mudaria para proxima tela e F2 voltar.
Tudo isso em Console!

estou fazendo em Console “puro”.

como posso pegar esses “eventos” Charva? JNI?

12 Respostas

T

Use Charva - JNI puro não é adequado porque você terá de implementar muita coisa que o Charva (que tem uma biblioteca JNI) já faz, a menos que você queira fazer seu próprio Charva.

F

Olá

O meu problema é muito parecido com o do elcapote, estou tentando rodar o charva só que não to conseguindo

alguém poderia me ajudar com isso

ele roda em WINDOWS, ou só em linux?

quando tento rodar ele dá a seguinte mensagem, o que falta?

Exception in thread main java.lang.UnsatisfiedLinkError: no Terminal in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

tem algo que talvez eu tenha esquecido de configurar?

flow

elcapote

fipke:
Olá

O meu problema é muito parecido com o do elcapote, estou tentando rodar o charva só que não to conseguindo

alguém poderia me ajudar com isso

ele roda em WINDOWS, ou só em linux?

quando tento rodar ele dá a seguinte mensagem, o que falta?

Exception in thread main java.lang.UnsatisfiedLinkError: no Terminal in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

tem algo que talvez eu tenha esquecido de configurar?

flow

Pois eh fipke segui o conselho do thingol(obrigado pela dica!) e usei o charva… so que tbm deu o mesmo problema… vc ja consegui resolver?

KWill

fipke:
Olá

O meu problema é muito parecido com o do elcapote, estou tentando rodar o charva só que não to conseguindo

alguém poderia me ajudar com isso

ele roda em WINDOWS, ou só em linux?

quando tento rodar ele dá a seguinte mensagem, o que falta?

Exception in thread main java.lang.UnsatisfiedLinkError: no Terminal in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

tem algo que talvez eu tenha esquecido de configurar?

flow

Eu andei usando a biblioteca Charva em alguns experimentos meus. O que deve estar faltando é referenciar as bibliotecas nativas, os arquivos “Terminal.dll” no caso do Windows e “libTerminal.so” no caso do Linux. Quando forem testar/executar seus aplicativos, passem para a jvm o parâmetro: Djava.library.path=[pasta onde está a bliblioteca nativa].

Até o presente momento, a biblioteca Charva é distribuída com essas duas bibliotecas nativas já compiladas dentro do diretório ‘charva/c/lib’ do zip em que a biblioteca é distribuída. Também pode-se colocar essas bibliotecas nativas no mesmo diretório onde a JVM é inicializada que elas normalmente são encontradas pela JVM.

Estas instruções devem resolver seus problemas.

Inté.

F

Blz cara, vou ver se faço ele rodar agora daí

valeu

FightSurf_George_Mai

Uma dúvida:

Estou com um problema semelhante. E se fosse no eclipse, como faria para que o meu compilador enxergasse essa biblioteca .so?

FightSurf_George_Mai

Ocorre este erro quando tento rodar uma aplicação:

Exception in thread main java.lang.UnsatisfiedLinkError: no parport in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682)

at java.lang.Runtime.loadLibrary0(Runtime.java:823)

at java.lang.System.loadLibrary(System.java:1030)

at parport.ParallelPort.(ParallelPort.java:75)

at SrComm.TesteApplication.main(TesteApplication.java:10)

Obrigado.

KWill

FightSurf George Maia:
Uma dúvida:

Estou com um problema semelhante. E se fosse no eclipse, como faria para que o meu compilador enxergasse essa biblioteca .so?

Eu também tentei usar Charva no Console do Eclipse, mas não tive muito sucesso. O único meio decente de debugar aplicações que usam Charva que encontrei foi usar Log4J e sair loggando o que for necessário para encontrar os erros. Talvez seja suficiente para você.

Até mais.

Grinvon

Cara, eu uso KeyListener, dessa forma faço tudo o que quero com teclado, obtenho as teclas que o usuário digita. Podendo esse listener ser adicionado em praticamente quase todos os componentes. Veja lá, tente fazer algo com ele, se tiver dúvida no código eu lhe ajudo.

KWill

Pessoal, criei uma versão modificada da biblioteca Charva, usando técnicas de carregamento dinâmico de bibliotecas nativas usadas pelo JNA:

Assim sendo, esta versão modificada que criei está teóricamente livre de erros do tipo UnsatisfiedLinkError, pois em teoria é só incluir o charva.jar que tudo roda. Devo alertar que essa versão modificada da biblioteca Charva não está dando suporte ao Darwin, do Mac, pois não consegui a biblioteca nativa do Charva para o Darwin. Acredito que a modificação que fiz não seja ilegal, pois todo o código-fonte Java que modifiquei deixei incluso no jar mesmo. Se houver algum problema devo parar de distribuir essa versão modificada que fiz.

Inté.

T

Para recompilar o Charva para Mac seria necessário ver se o código recompila sob XCode (que é o ambiente de desenvolvimento do Mac, que infelizmente só roda em MacOSX mesmo). Quem se habilita a recompilar o código (ou seja, tem um Mac disponível e sabe mexer no XCode o suficiente para compilar programas em C?)

KWill

Depois de alguns testes, percebi que a biblioteca Charva modificada que fiz não estava funcionando corretamente em alguns ambientes. Por isso, fui fuçando no gcc via VMWare com os makefiles que o autor da biblioteca Charva deixou e como resultado agora há o suporte em teoria para as seguintes plataformas: win32-x86, linux-i386, linux-amd64, freebsd-i386 e freebsd-amd64. Este novo build modificado da biblioteca Charva continua sem suporte para o Darwin do Mac e parece que também não funciona com Solaris em qualquer arquitetura de processador.

Inté.

Criado 14 de janeiro de 2008
Ultima resposta 5 de jun. de 2008
Respostas 12
Participantes 6