First things first -- I had posted a question earlier wherein i had asked for help as to why my code was not working and this question is acting upon the advice i got in tha
Please verify that the PropertyChangeEvent does not fire. If it does fire, but the repaint does not happen, it might help to postpone the repaint a bit like this:
//change this
button.repaint();
// to this
SwingUtilties.invokeLater(new Runnable() { public void run() { button.repaint(); }});
If the change event does not fire - disregard all after 'Please' ;)