Tutorial :Problem with pulling out icons from resource bundle in Flex


I'm having trouble with getting icons from resource bundle in Flex. Here's the scenario:

Directory structure looks like this:

 -ResourceManagerTest     -resources       -icons         -icon1.png         -icon2.png         -icons.properties   -src     -MyButton.as     -ResourceManagerTest.mxml  

In icons.properties I have:

CIRCLE_FILLED=Embed("icon1.png")  CIRCLE_CONTOUR=Embed("icon2.png")  

I'd like to create ToggleButtonBar with buttons whose icons are pulled out from resource bundle.

Here's the source of programmatically created button:

package  {      import mx.resources.ResourceManager;        public class MyButton extends Object      {      public var icon:Class;      public function MyButton()      {          super();          icon = ResourceManager.getInstance().getClass("icons", "CIRCLE_FILLED");      }    }  


And here is ResourceManagerTest where I define the ToggleButtonBar:

<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"   layout="absolute"  creationComplete="onCreationComplete()">    <mx:Script>      <![CDATA[          [Bindable]          public var dataProvider:Array;            public function onCreationComplete():void {                dataProvider = new Array();              dataProvider.push(new MyButton());              dataProvider.push(new MyButton());              tgb.dataProvider = dataProvider;          }        ]]>  </mx:Script>      <mx:ToggleButtonBar id="tgb"/>  

Buttons do appear, however without any icons. What am I doing wrong?


Firstly it looks like you are not including the resource bundle in your build. You're probably going to need something like

<mx:Metadata>          [ResourceBundle("RegistrationForm")]  </mx:Metadata>   

in the MXML or just


at the top of your class

Once you've done that make sure you have the bundle... try adding just a string resource and see if you can get that. If you have the bundle and it still doesn't work have a play with different paths for you icons. They may not be relative to the resource (with out playing with it i can never remember what is relative to what).


The best resource I've found for information about how to setup ResourceBundle in Flex 3 is "Using Resources" in Adobe's livedocs.


In addition to including the resource bundle, you need to make sure you include the resource path at compile time. Read Adobe's docs for more information.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »