Zoom no panel sem aumentar objetos plotados.  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Olá,

Na minha aplicacação eu tenho um JPanel onde ploto alguns polígonos. Esse é o mapa.
Sobre ele ploto (add) label com imagens.

A última característica que adicionei foi o zoom. Fiz isso trabalhando com o AffineTransform do Graphics do JPanel.

Quando dou o zoom, todos os elementos plotados sobre o mapa aumentam, o que era esperado. Mas preciso
que apenas o fundo aumente, os polígonos, sem que a imagem aumente também. Esta tem que apenas atualizar o posicionamento relativo ao JPanel.

Acredito que eu tenha que implementar algum tipo de arquitetura com layer, um JPanel sobre o outro, ou sei lá.
Alguém tem experiência com esse tipo de desenvolvimento e pode dar uma luz?

Até mais.
Valeu!
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Alguém?

Valeu!
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Jean_Utf wrote:Alguém?


Parece que o GUJ não é tão 24 horas assim... Evite upar tópicos, principalmente se vc abriu no final da noite. É muito difícil que haja uma resposta no início da manhã. Principalmente com temas tão específicos.

O affine transform atua sobre tudo que for realizado após o comando. Basta desenhar suas imagens antes de alterar a transformação.

Se você vai desenhar a imagem sobre o que foi aumentado, simplesmente restaure o transform original. A forma mais fácil de fazer isso é criar uma cópia do contexto gráfico.



Perceba que ao sair do método, o objeto g não foi alterado, e não estará com o transform que tem o zoom.

This message was edited 1 time. Last update was at 26/08/2010 10:05:17


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Foi mal.. não costumo upar, mas a pressa é foda.
Se eu não tivesse upado você não teria visto a pergunta rsrs..

Então, eu pensei nisso mesmo, até fiz um exemplo, mas não funcionou.
Vou refazer com um pouco mais de critério e vamos ver no que dá.

Valeu.
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Jean_Utf wrote:Foi mal.. não costumo upar, mas a pressa é foda.
Se eu não tivesse upado você não teria visto a pergunta rsrs..


Acho que teria, eu entro em fórum por fórum e vou buscando os tópicos com "0".

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Era isso ae mesmo cara.
Consegui.

Mas estou empacado com a atualização do posicionamento (translate) do objeto que não recebeu o zoom.

Para pegar o deslocamento correto, eu uso o seguinte código, após aplicar o zoom. Mas ele não tá mantendo a proporção correta.
Tem algum conceito que não estou entendendo 100%. A coordenada do "mundo" não deveria ser a mesma para os objetos com e sem zoom?


Não sei se consegui deixar claro o meu problema.

Valeu!
Jean_Utf
Thread.start()

Membro desde: 26/03/2008 19:21:15
Mensagens: 46
Offline

Consegui... tive que calcular o translate como se o objeto sem zoom tivesse com zoom. Dae funcionou.

Valeu pelas dicas.

Encontrei bastante material no pontov.com.br também, que ajudaram a entender alguns conceitos.

Até mais.
Guitar_Men
JavaEvangelist
[Avatar]

Membro desde: 21/02/2008 10:01:31
Mensagens: 463
Offline

Isso ta me parecendo um sistema de rastreamento...



[WWW] [MSN]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team