[RESOLVIDO]Como identificar se existe um JComponent em um lugar especifico do JFrame?

4 respostas
java
S

Como titulo diz, eu gostaria de saber saber se em uma coordenada (x,y) no JFrame, existe algum JComponent ali. Tem algo que possa me ajudar nisso?

Eu olhei os métodos do JFrame, como por exemplo, o getComponentAt(x,y), pelo q entendi ele retorna um componente que está nessa coordenada, certo? mas se não existir, ele retorna null?

Além disso tenho um JPanel no fundo com uma imagem, então provavelmente ele iria sempre identificar que existe um JComponent em qualquer coordenada, então alguém sabe como eu poderia contornar esse problema tbm?

4 Respostas

darlan_machado

Javadoc mandou lembranças, fera.

S

Eu já dei uma olhada, além disso o netbeans mostra todas os metodos e a descrição deles, mas eu não consegui fazer com que funcionasse como eu queria

Outro problema é q, eu não consigo pegar a classe do Component, tipo, eu criei uma classe que se extende ao JComponent, mas o q ele me retorna é uma outra classe do Swing.

D
List<JComponent> filtro; // lista de componentes que vc quer buscar

JComponent buscarComponente(x,y) {
  Rectangle r = new Rectangle();
  for (c : filtro) {
    if (c.getBounds(r).contains(x,y)) return c;
  }
  return null;
}
S

vc me deu uma boa idéia, valeu cara, além disso, acho q seria a unica forma de resolver os meus problemas pra conseguir o que eu quero.

Criado 4 de setembro de 2018
Ultima resposta 4 de set. de 2018
Respostas 4
Participantes 3