Вы можете создать свой собственный слушатель, который реализует MouseListener. Таким образом, вы можете контролировать, когда фон кнопки меняется (когда мышь отпущена, нажата и т. Д.). Вот пример
//Add the listener to the button
myButton.addMouseListener(new customActionListener());
//Create the listener
class customActionListener implements MouseListener {
public void mouseExited(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
Icon icon = new ImageIcon("icon.gif");
myButton.setIcon(icon);
}
public void mouseClicked(MouseEvent e) {
}
}
В любой момент, когда вы хотите установить фон по умолчанию, используйте:
myButton.setIcon(new ImageIcon());