Oi pessoal.
Tenho um JFrame e dentro dele, um JPanel que tem uma imagem. Quando ocorrer o clique em determinado ponto da imagem, quero fazer com que um JLabel no JFrame seja modificado. Como posso fazer isso, sabendo que o JPanel não tem relação com o JLabel?
Eu pensei em usar Observer, mas deve existir um outro jeito.
Abraço.
[quote=Andre Brito]Oi pessoal.
Tenho um JFrame e dentro dele, um JPanel que tem uma imagem. Quando ocorrer o clique em determinado ponto da imagem, quero fazer com que um JLabel no JFrame seja modificado. Como posso fazer isso, sabendo que o JPanel não tem relação com o JLabel?
Eu pensei em usar Observer, mas deve existir um outro jeito.
Abraço.[/quote]
Crie um método static na classe do label fazendo a alteração que vc quer e chame-a através do actionListneer no JPanel do click. Já que vc não quer utilizar Observer mesmo.
Um grande Abraço!!!
Não tinha pensado em fazer isso. Obrigado 
Agora, é aconselhável fazer isso? O problema de usar Observer é que vai deixar muito complexa a implementação.
[quote=Andre Brito]Não tinha pensado em fazer isso. Obrigado 
Agora, é aconselhável fazer isso? O problema de usar Observer é que vai deixar muito complexa a implementação.[/quote]
Não é que não seja aconselhável. Cada um tem sua forma de implementação, na verdade essa é até mais simples e poupa recursos da máquina. O problema é que precisa ser bem escrito pois, você vai estar mexendo com métodos estáticos e por consequência os atributos contidos dentro desses métodos terão de ser estáticos também. O legal é você criar uma classe só para esses label’s, isto é, uma para cada um e uma interface para padrozizar os métodos estáticos que vai usar neles. Porém só nos especiais que você pretende fazer essas jogadas.
Um Grande Abraço!!
Entendi. E devo dizer que estava pensando em fazer uma classe para o JLabel mesmo.
Valeu! Muito obrigado mesmo!
Abraço!
[quote=Andre Brito]Entendi. E devo dizer que estava pensando em fazer uma classe para o JLabel mesmo.
Valeu! Muito obrigado mesmo!
Abraço![/quote]
Por nada Grande André.
Me esqueci de uma coisinha … Você não pode usar métodos estáticos em interfaces pois os mesmos já são abstratos por natureza nela, então melhor só a classe mesmo…
Fora isso:
Não se esqueça do repaint() que talvez seja necessário para mostrar as alterações no frame em que se encontra o Label.
Tome cuidado com o garbage pois se você não esta referenciando pois é estático terá de adiciona-lo mediante sua criação.
De resto é só alegria… 
Um Grande Abraço!!!