Da pra fazer ou não (em java!) [Resolvido]

Pessoal… Tem como eu colocar action listener no computador, em vez de 1 frame?

Deicha eu esplicar melhor…
Ex.: Faça um programa que quando o usuário apertar F9 mostrar uma mensagem “Olá!”

Mas não só dentro do programa… Estou mechendo por exemplo na internet, e quando eu apertar F9 lá vai aparecer a mensagem…
Parece tosco, mas é só um exemplo da dificuldade que estou enfrentando…

Pense que isso seja uma aplicação para ajudar em um jogo, por exemplo. Quando o usuário apertar F2 quero que ele faça algo, mas não tem como, pq o “focus” está no jogo, e não na aplicação… Em Delphi é simples fazer isso… Em java não consegui…

Pensem também em um teclado virtual… Que funcione em qualquer lugar (como o do windows). Quando eu apertar X, ele vai digitar “X” em qualquer lugar que esteja com o focus, seja na internet, em um jogo, ou no msn…
Em java não tem como fazer isso…

Obrigado.

Tem sim amigão, você vai ter que monitorar o teclado e capturar as teclas clicadas fora do Java, já vi alguns tutoriais sobre isso!

O mais triste foi ter que ler “deichar” e “esplicar”, mas tem como você fazer isso sim!

Abs

JavaScript, não?

Em java não tem uma forma simples de fazer isso sem usar JNI ou JNA. E o resultado não será multiplataforma.
Faça o código em C#, VB.Net, C++ ou Delphi.

Somente com Java, creio que não tenha como fazer. Procure por JNI (Java Native Interface), você terá que escrever algo em C que faça essa captura do teclado pra vc, e monitorá-lo com o Java, para aí você poder fazer o que quiser.

Isso é só uma ideia do que você vai precisar fazer, não é básico!

Boa sorte :thumbup:

[quote=ViniGodoy]Em java não tem uma forma simples de fazer isso sem usar JNI ou JNA. E o resultado não será multiplataforma.
Faça o código em C#, VB.Net, C++ ou Delphi.[/quote]
que triste =XX
Em Delphi eu ja fiz, queria fazer em java justamente por ser multiplataforma…

O jeito vai ser C# ou C++ mesmo…
que triste…

Mas ae fica a pergunta… Porque java não dá pra fazer isso? =[

Justamente porque isso exige integração com o SO. E a VM não fornece esse tipo de integração, ou classes portáveis para isso. Por isso a necessidade recursos que tirem você da VM (JNI e JNA).

No caso do C#, não será muito diferente. Você só conseguirá fazer isso com código unmanaged. Só que é muito mais fácil programar coisas unmanaged que programar com JNI.

Tá dificil achar uma linguagem que faz tudo por si só! kkkk

Pra fazer jogos 3D dizem que é o C#
Pra fazer “bots” para jogos, eu só acho API para VB.Net
Gosto de java porque é simples de programar…
Delphi é dahora mas não é multiplataforma…

Qual linguagem que faz tudo isso?
C++ ?
VB.Net ?
C# ?

Não existe WinAPI “para VB.Net”. A WinAPI é do Windows, serve para qualquer linguagem. É ela que você acessaria via JNI, pelo Java.

Se vc for recorrer a ela, pode fazer em C#. Ela é fácil de programar como o Java (até mais fácil, diga-se de passagem). Agora, se você for usar a WinAPI, como o próprio nome já diz, é para Windows e não será multi-plataforma.

E, by the way, a maioria dos jogos 3D é feita em C++. O C# está se popularizando por causa da Unity, mas você não vê nenhum grande estúdio usando ele por aí (exceto para ferramentas).

Tendi…

O VB.Net é multiplataforma?
O C# é né??

Sempre que vou procurar as diferenças entre eles, as pessoas falam que são pouquíssemas, que até existe programas que “passam” o código de uma para outra…

Todas as linguagens .Net compilam para IL, que é o assembly do .Net.
É como no Java. Tanto o Java, quanto Groovy e Ruby, geram arquivos .class.

Por isso, todas as plataformas onde o .Net roda, o VB e o C# vão rodar também.
E por isso existe integração total entre as duas linguagens.

E por isso as duas compartilham exatamente a mesma biblioteca de classes.

Fui baixar o VB.Net aqui: http://www.microsoft.com/express/Windows/

Microsoft® Visual Basic® 2010 Express is ideal for the developer learning to program on Microsoft® Windows®.
On Microsoft Windows? É só migué isso? Os programas funcionam em Linux tb?

É esse mesmo? Ta escrito Visual Basic… É a mesma coisa de Visual Basic.net ?
(Sou novo nessas coisas mesmo… rs)

Não perde tempo como o VB.Net, não. Já que vc já manja de Java, vai direto pro C#.

Beleza… Fiz o download, tá instalando…

Só pra certificar: Qualquer API que funciona em VB.net funciona em C# né?
Vlws

Sim, funciona igualzinho.

Blz então…
Vamos aos estudos =))

Vlws, resolvido