import com.benstucki.utilities.IconUtility;
import mx.controls.Button;
import mx.controls.ButtonBar;
import mx.events.ChildExistenceChangedEvent;
public function childAddedHandler(event:ChildExistenceChangedEvent):void
{
var buttonBar:ButtonBar = event.target as ButtonBar;
var button:Button = event.relatedObject as Button;
var data:Object = buttonBar.dataProvider;
var key:String = "icon";
var iconSource:String = data[buttonBar.getChildIndex(button)][key];
button.setStyle("icon", IconUtility.getClass(button, iconSource));
}
import com.benstucki.utilities.IconUtility;
import mx.controls.Button;
import mx.controls.ButtonBar;
import mx.events.ChildExistenceChangedEvent;
public function childAddedHandler(event:ChildExistenceChangedEvent):void
{
var buttonBar:ButtonBar = event.target as ButtonBar;
var button:Button = event.relatedObject as Button;
var data:Object = buttonBar.dataProvider;
var key:String = "icon";
var iconSource:String = data[buttonBar.getChildIndex(button)][key];
button.setStyle("icon", IconUtility.getClass(button, iconSource));
}
<mx:Array id="testData">
<mx:Object id="button1"
label="Red Button"
icon="assets/redIcon.jpg" />
<mx:Object id="button2"
label="Green Button"
icon="assets/greenIcon.jpg" />
<mx:Object id="button3"
label="Blue Button"
icon="assets/blueIcon.jpg" />
</mx:Array>
<mx:ButtonBar id="buttonBar"
dataProvider="{testData}"
childAdd="childAddedHandler(event);">
</mx:ButtonBar>
注意:依赖于附件里提供的IconUtility组件。