Dúvida - Mover janela

1 resposta
Schoker

Galera…eu tenho uma aplicação swing…e eu dei um setUndecorated(true)…isso deixa a aplicação sem bordas e botoes de minimizar, maximizar e fechar…eu criei uma label para a movimentação da janela…eu qeria que quando eu clicasse nessa label e arrastasse o mouse (com o botao pressionado) a janela va junto com o mouse…movimentando como se fosse em uma janela normal…qual evento q eu uso!?

Desde já agradeço!

1 Resposta

slompo

Amigo, fiz isso a alguns dias atrás, façamos o seguinte eu te mostro a lógica e você implementa:

Você vai precsar escrever dois listeners, ou seja dois eventos de mouse e adiciona-los ao seu label, mas quais slompo?
Primeiro quando você clickar… opa o evento de clik, mas o Clicked ou um dos outros, vejamos o Clicked é ao finalizar o clik, mas pelo que entendi você deverá usar o Pressed, pois é ao manter o mouse pressionado, tá mas e agora, pense no seguinte. Ao manter o mouse pressionado devo ter armazenado ao posição atual do meu JFrame e comparar a cada movimento do mouse com a posição do mouse e substituir a difirença, fazendo então que o JFrame na verdade acompanhe o mouse.
OK, mas você não tinha dito dois eventos? Sim sim, tem um evento chamado mouseMoved, ta mas o que deve ter nele? Bom vamos revisar.
Ao clickar devemos armazenar a posição atual do JFrame, ok até ai tudo bem, então no mouseMoved devemos compara a diferença com a posição anterior a posição atual do mouse e subtrai ou somar, isto vou deixar vc pensar =D.
Tá mas como pego a posição do mouse, conheço atualmente duas formas, 1º Voce pode usar o objeto que vem como paramentro do evento mouseMoved. 2º Usar a classe MouseInfo.

Bom espero ter ajudado =D

Criado 23 de maio de 2010
Ultima resposta 23 de mai. de 2010
Respostas 1
Participantes 2