es un día de fiesta perezoso aquí en Alemania, por lo la combinación de las dos respuestas:
final JLabel label = new JLabel("some label with a nice text");
label.setBackground(Color.YELLOW);
MouseAdapter adapter = new MouseAdapter() {
/**
* @inherited <p>
*/
@Override
public void mouseEntered(MouseEvent e) {
label.setOpaque(true);
label.repaint();
}
/**
* @inherited <p>
*/
@Override
public void mouseExited(MouseEvent e) {
label.setOpaque(false);
label.repaint();
}
};
label.addMouseListener(adapter);
El problema (en realidad, tienden a considerarlo como un error) es que al establecer la propiedad opaca no desencadena un repintado como sería apropiado. JComponent dispara un evento de cambio, pero parece que nadie está escuchando:
public void setOpaque(boolean isOpaque) {
boolean oldValue = getFlag(IS_OPAQUE);
setFlag(IS_OPAQUE, isOpaque);
setFlag(OPAQUE_SET, true);
firePropertyChange("opaque", oldValue, isOpaque);
}
Para una mejor ayuda antes, publique un [SSCCE] (http://pscode.org/sscce.html). –