Como faço para criar um JPanel com duas imagens, onde apenas uma parte da imagem abaixo é mostrada no mouse?
Eu estou tentando criar um painel de botões onde o botão que foi clicado se torna 'diferentemente colorido'; ou seja, mostra a imagem de fundo. p.s Eu só preciso dessa abordagem (com 2 imagens), e nada mais. Obrigado !
Por exemplo:
public class TestPane extends JPanel {
private BufferedImage imgUnclicked;
private BufferedImage imgClicked;
private Point mousePoint;
public TestPane() {
try {
imgUnclicked = ImageIO.read(new File("C:\\Users\\Me\\Desktop\\tmp\\Uncolored.png"));
imgClicked = ImageIO.read(new File("C:\\Users\\Me\\Desktop\\tmp\\Colored.png"));
} catch (IOException ex) {
Logger.getLogger(Spotlight.class.getName()).log(Level.SEVERE, null, ex);
}
addMouseMotionListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
mousePoint = e.getPoint();
repaint();
}
});
}
}
@Override
protected void paintComponent(Graphics g) {
//Draw imgClicked
//Draw imgUnclicked with some rectangular area around mouse click subtracted
}
}