Problema com movimentação de JLabels em um Frame transparente

Quando coloco o JFrame com background transparente, na hora de arrastar uma JLabel, ele arrasta o form junto.

Se puderem me ajudar…

Poderia ser mais específico?

Está fazendo na mão?

Poderia postar algum código pra eu entender o problema?

Olha, eu to fazendo um jogo. Se for postar o código, vai ficar mto grande… São 2000 linhas de código, pq tem mto if/else.

O objetivo do jogo é vestir o personagem de acordo com as situações do cotidiano. Vc deve arrastar a roupa até o personagem, e, quando ela entra em contato com ele,

muda o gráfico do personagem, de modo a vestí-lo com a roupa arrastada.

Tenho um código que deixa o JFrame transparente, mas quando isso acontece, o JLabel das roupas, ao ser arrastado, carrega consigo todo o JFrame.

Se vc quiser msm ver o código, eu posto.

Além de deixar o JFrame transparente, você também deixa ele Undecorated ?

Posso estar falando besteira, mas pelo que me parece, quando você deixa o JFrame, não apenas transparente, mas completamente invisível, e também sem decoração, mostrando apenas seus elementos, acontece que a janela assume a forma do que estiver visível. Por exemplo, você insere a imagem de uma bola na JLabel e deixa o frame transparente e sem decoração, então a janela assume o formato da imagem, no caso, uma bola.
Sendo assim, você não está apenas arrastando um elemento dentro da sua janela, está arrastando ela completamente.
Não sei se isso ajuda, mas é minha opinião de iniciante em java.

Melhor, você poderia postar apenas a parte do código que arrasta as JLabels?

Esta é a classe responsável pela movimentação das JLabels.

Como eu seto esses objetos em outra camada do frame e seto o frame como opaque ?

[code]class Mover extends MouseInputAdapter{

	private int xSel,ySel;
	private int inx,iny;
	
		public void mousePressed(MouseEvent evento){
		
			inx=camisa.getX();
			iny=camisa.getY();
				
		
		}
		
		public void mouseRelease(MouseEvent evento){
			
			camisa.setLocation(inx,iny);
		}
	
		public void mouseDragged(MouseEvent evento){
		
			int xSel,ySel;
			Object oba = evento.getSource();
			
			xSel=((Component)oba).getLocation().x;
			ySel=((Component)oba).getLocation().y;
			((Component)oba).setLocation((evento.getX() + xSel) - (((Component)oba).getWidth()/2) , (evento.getY() + ySel)-(((Component)oba).getHeight()/2));
			xSel = evento.getX();
			ySel = evento.getY();

                    }
		
		public void mouseEntered(MouseEvent evento){}
		
		public void mouseMoved(MouseEvent evento){
		
		int mX,mY;
		 mX = (int) evento.getPoint().getX();
		 mY = (int) evento.getPoint().getY();
		 
		}
		public void mouseClicked(MouseEvent evento) {
			
			if(evento.getSource()==pilha2){
				
				calcao.setVisible(true);
				
			}
			
			
		       
		    }
		public void mouseExited(MouseEvent evento){}
		
	}
//fim da classe mover[/code]