Попробуйте использовать стили для установки скинов, а не состояний.
Если вы хотите отображать эти состояния на лету, вы можете отправлять события из кнопок в нужное время.
, например
//do roll over
yourButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OVER));
//do roll out
yourButton.dispatchEvent(new MouseEvent(MouseEvent.ROLL_OUT));
//do press
yourButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN));
//do release
yourButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP));