ImageIcon tabuleiro = new ImageIcon(getClass().getResource("tabuleiro.png"));
JLabel v = new JLabel(new ImageIcon(getClass().getResource("vazio.png"))); // Imagem q qro fazer o efeito de relevo ao passar o mouse sobre t
JLabel t = new JLabel(tabuleiro);
// Aqui seria o código onde coloco as posições de cada JLabel…
public void mouseEntered(MouseEvent arg0) {
double x = t.getMousePosition().getX();
double y = t.getMousePosition().getY();
int novaPosicaoX, novaPosicaoY;
novaPosicaoX = (int) x - (int)x % 50;
novaPosicaoY = (int) y - (int)y % 50;
v.setBounds(novaPosicaoX-3, novaPosicaoY, 50,50);
v.setVisible(true);
}
Override
public void mouseExited(MouseEvent arg0) {
v.setVisible(false);
}
O tabuleiro é 500x500 e cada quadrado dele é 50px assim as variaveis NovaPosicaoX e Y pegam sempre a borda do quadrado onde ta o ponteiro do mouse. O problema é q o relevo só funciona nos quadrados da borda da janela e qnd passo o mouse isso não vai mudando. Tem q tirar o mouse da janela e voltar pra atualizar.