Jump to content
JosimarNew

Capturar aventos do mouse fora da GUI

Recommended Posts

Bom dia, boa tarde e boa noite.

 

Segue um problema que ainda não consegui a solução.

 

Estou tentando capturar eventos do mouse fora da GUI do java. Tipo, eu quero transformar a tela do meu monitor em um plano cartesiano e a partir daí controlar meu mouse através da aplicação java uma vez iniciada. Não sei se fui bem claro más, o que quero com isso? Quero limitar o movimento do meu cursor baseado na resolução da tela de meu monitor, definir uma área nessa tela onde o monitor só poderá ser movimentar nessa área.

 

Isso é possível com java, pois com C sei que é, só que quero implementar isso no java mesmo.

 

Estou bem perto, já consigo capturar as coordenadas do mouse fora da GUI, agora preciso manipular os eventos para que eu possa controlar o cursor.

 

Obrigado aqueles que se interessarem pelo tópico.

Share this post


Link to post
Share on other sites

Então minha gente, o forum parece que anda meio parado, más para aqueles que se interessarem nessa questão, encontrei uma api que faz esse trabalho, é o JNativeHook.

 

Podem fechar o tópico.

  • +1 1

Share this post


Link to post
Share on other sites
1 hora atrás, Kosonome disse:

Interessante saber que Java puro não resolve isto e obrigado pela dica do JNativeHook.

 

Por nada amigo @Kosonome, estamos aqui pra isso.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By MarVinOlivieraS
      Boa noite, tenho 34 anos e já comecei a aprender .php alguns anos atrás porém não pude continuar pois fui trabalhar numa área muito diferente. Hoje consegui um tempo para me dedicar a uma atividade q gosto. Escolhi voltar a a aprender a programar, mas como imagino que o mobile é que deve continuar em alta imaginei (Talvez por desinformação) que fosse mais rentável aprender Java invés de Php, já que o Java pode ser usado para desenvolvimento web, mobile e games.
      Eis que pesquisando sobre o assunto.... a maioria das pessoas que vi falando sobre começar a programar indicam aprender Javascript por também poder ser usado na maioria das áreas que o Java e por ter mais vagas de emprego.
       
      Aí imbaralhou tudo em minha cabeça... pois não quero aprender uma coisa que está entrando em desuso mas apesar de não lembrar mais nada de .php lembro que gostava de aprender a usá-lo e da sua randw Gama de possibilidades.
    • By T635
      Estou desenvolvendo um app para medir os batimentos do usuário por meio de um sensor em seu smartwatch. Entretanto estou com um bug na linha 36, e não faço a mínima ideia de como resolver.
      O link do código é esse:
      https://pastebin.com/gwEzhCdh
    • By joaohouto
      Olá, pessoal!
       
      Estou dando início a minha caminhada no desenvolvimento nativo para Android, e durante esse percurso encontrei certa dificuldade ao tentar exibir uma notificação simples.
      Segue o código:
       
      //imports public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); gerarNotificacao(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void gerarNotificacao(){ NotificationCompat.Builder builder = new NotificationCompat.Builder(this) .setSmallIcon( R.drawable.ic_launcher ) .setTicker( "Título ticker de teste" ) .setContentTitle( "Título de teste" ) .setContentText( "Texto de corpo - teste" ) .setAutoCancel( true ); int id = 1; NotificationManager notifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); notifyManager.notify( id, builder.build() ); } }  
      Obs.: Esse é um código exemplo que achei em um site aleatório da internet
      Bom, ao iniciar a tela principal a notificação não é exibida, por quê?
       
      Agradeço a quem puder ajudar. :D
    • By Rengavitp
      Boa tarde pessoal, sou novo ainda em java e estou com a seguinte dificuldade, preciso imprimir um pedido de venda que vem de um sistema no formato json, ja tentei de diversas formas mas nenhuma deu certo, alguem pode me ajudar? Vou colocar abaixo o arquivo json e o metodo mais recente que testei, porem ele só mostra null, sei que o problema deve estar na forma de percorrer o json, mas nao faço ideia de como fazer.
       
      { "retorno":{ "pedidos":[ { "pedido":{ "desconto":"15,00", "observacoes":"Testando o campo observações do pedido", "observacaointerna":"Testando o campo observações internas do pedido", "data":"2017-07-28", "numero":"1", "numeroPedidoLoja":"100000001", "vendedor":"João da Silva", "valorfrete":"22.50", "totalprodutos":"139.98", "totalvenda":"147.48", "situacao":"Em Aberto", "loja": "123456789", "dataPrevista":"2017-07-28", "tipoIntegracao":"Magento", "cliente":{ "nome":"Organisys Software", "cnpj":"00.000.000/0000-1", "ie":"0000000000", "rg":"162788484", "endereco":"Rua Visconde de São Gabriel", "numero":"000", "complemento":"Sala 000", "cidade":"Bento Gonçalves", "bairro":"Cidade Alta", "cep":"95.700-000", "uf":"RS", "email":"teste@organisys.com.br", "celular":"", "fone":"(54) 2222-22222" }, "itens":[ { "item":{ "codigo":1234, "descricao":"Mochila", "quantidade":"2.0000", "valorunidade":"69.990000000", "precocusto":null, "descontoItem":"0.00", "un":"Pç", "pesoBruto": "0.520", "largura": "20", "altura": "18", "profundidade": "15", "unidadeMedida": "cm", "descricaoDetalhada": "Ecobag esportiva" } } ], "parcelas":[ { "parcela":{ "valor":"73.74", "dataVencimento":"2017-07-28 00:00:00", "obs":"Teste obs 1", "forma_pagamento":{ "id":"1", "descricao":"Dinheiro", "codigoFiscal":"1" } } }, { "parcela":{ "valor":"73.74", "dataVencimento":"2017-08-28 00:00:00", "obs":"Teste obs 2", "forma_pagamento":{ "id":"1", "descricao":"Dinheiro", "codigoFiscal":"1" } } } ], "nota":{ "serie":"1", "numero":"012346", "dataEmissao":"2017-08-28 00:00:00", "situacao":"1", "chaveAcesso":"43140401056417000139550010000123461496923524", "valorNota": "147.48" }, "transporte":{ "transportadora":"Transportadora", "cnpj":"00.000.000/0000-1", "tipo_frete":"R", "volumes":[ { "volume":{ "idServico":"1231293", "servico":"SEDEX 10", "codigoRastreamento":"SX052413651BR", "dataSaida":"2017-07-28", "prazoEntregaPrevisto":"1", "valorFretePrevisto":"11.25", "valorDeclarado": "0.00", "remessa":{ "numero":"12345AAA", "dataCriacao":"2017-10-17" }, "dimensoes":{ "peso":"1.553", "altura":"20", "largura":"15", "comprimento":"20", "diametro":"0" } } }, { "volume":{ "idServico":"1231293", "servico":"SEDEX 10", "codigoRastreamento":"SX052413651BR", "dataSaida":"2017-07-28", "prazoEntregaPrevisto":"1", "valorFretePrevisto":"11.25", "remessa":null, "dimensoes":{ "peso":"1.553", "altura":"20", "largura":"15", "comprimento":"20", "diametro":"0" } } } ], "enderecoEntrega":{ "nome":"Organisys Software Entrega", "endereco":"Rua Assis Brasil", "numero":"222", "complemento":"", "cidade":"Bento Gonçalves", "bairro":"Centro", "cep":"95.700-000", "uf":"RS" } } } } ] } } package javaapplication2; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; public class JSONRead { public static void main(String[] args) { JSONObject jsonObject; //Cria o parse de tratamento JSONParser parser = new JSONParser(); //Variaveis que irao armazenar os dados do arquivo JSON String nome; String sobrenome; String estado; String pais; try { //Salva no objeto JSONObject o que o parse tratou do arquivo jsonObject = (JSONObject) parser.parse(new FileReader( "//users/vagnermocelin/teste.json")); //Salva nas variaveis os dados retirados do arquivo numero = (String) jsonObject.get("numero"); vendedor = (String) jsonObject.get("vendedor"); total_produtos = (String) jsonObject.get("total_produtos"); total_venda = (String) jsonObject.get("total_venda"); System.out.printf( "Numero: %s\nVendedor: %s\nProdutos: %s\nVenda: %s\n", numero, vendedor, total_produtos, total_venda); } //Trata as exceptions que podem ser lançadas no decorrer do processo catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }  
    • By MrPhantomRed
      Como um trabalho de fim de ano do curso técnico de informática que eu estou fazendo o professor pediu um software em Java. Bem, o tema é livre, mas eu estou meio perdido. Eu decidi fazer um software que baixe, organize e reproduza arquivos de músicas, como o Spotify (a versão desktop), mas estou sem um caminho ainda. Como pegar os arquivos da Internet e como filtrar os resultados? Por exemplo, se eu pesquisar uma música no SoundCloud aparece muitos resultados, como escolher a música certa que o usuário pede? Entre outros coisas eu pretendo fazer um aplicativo pra Android quando terminar tudo no desktop. Alguma sugestão?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.