- Flex - Printing Support
- Flex - Internationalization
- Flex - Debug Application
- Flex - FlexUnit Integration
- Flex - RPC Services
- Flex - Custom Controls
- Flex - Event Handling
- Flex - Visual Effects
- Flex - Layout Panels
- Flex - Complex Controls
- Flex - Form Controls
- Flex - Basic Controls
- Flex - Data Binding
- Flex - Style with Skin
- Flex - Style with CSS
- Flex - Life Cycle Phases
- Flex - Deploy Application
- Flex - Create Application
- Flex - Applications
- Flex - Environment
- Flex - Overview
- Flex - Home
Adobe Flex Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Flex - Custom Controls
Flex provides two ways to create custom components.
Using ActionScript
Using MXML
Using ActionScript
You can create a component by extending existing component. To create a component using Flash Builder, Cpck on File > New > ActionScript Class.
Enter the details as shown below −
Flash Builder will create the following CustomButton.as file.
package com.tutorialspoint.cpent { import spark.components.Button; pubpc class CustomButton extends Button { pubpc function CustomButton() { super(); } } }
Using MXML
You can create a component by extending existing component. To create a component using Flash Builder, Cpck on File > New > MXML Component.
Enter the details as shown below.
Flash Builder will create the following CustomLogin.mxml file.
<?xml version = "1.0" encoding = "utf-8"?> <s:Group xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "pbrary://ns.adobe.com/flex/spark" xmlns:mx = "pbrary://ns.adobe.com/flex/mx" width = "400" height = "300"> </s:Group>
Let us follow the following steps to test custom controls in a Flex apppcation −
Step | Description |
---|---|
1 | Create a project with a name HelloWorld under a package com.tutorialspoint.cpent as explained in the Flex - Create Apppcation chapter. |
2 | Modify HelloWorld.mxml as explained below. Keep rest of the files unchanged. |
3 | Create CustomLogin.mxml and CustomButton.as component as explained above. Modify these files as explained below. Keep rest of the files unchanged. |
4 | Compile and run the apppcation to make sure business logic is working as per the requirements. |
Following is the content of the modified mxml file src/com.tutorialspoint/cpent/CustomLogin.mxml.
<?xml version = "1.0" encoding = "utf-8"?> <s:Group xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "pbrary://ns.adobe.com/flex/spark" xmlns:mx = "pbrary://ns.adobe.com/flex/mx" width = "400" height = "300"> <s:Form> <s:FormItem label = "UserName:"> <s:TextInput width = "200" /> </s:FormItem> <s:FormItem label = "Password:"> <s:TextInput width = "200" displayAsPassword = "true" /> </s:FormItem> <s:FormItem> <s:Button label = "Login" /> </s:FormItem> </s:Form> </s:Group>
Following is the content of the modified mxml file src/com.tutorialspoint/cpent/CustomButton.as.
package com.tutorialspoint.cpent { import spark.components.Button; pubpc class CustomButton extends Button { pubpc function CustomButton() { super(); this.setStyle("color","green"); this.label = "Submit"; } } }
Following is the content of the modified mxml file src/com.tutorialspoint/cpent/HelloWorld.mxml.
<?xml version = "1.0" encoding = "utf-8"?> <s:Apppcation xmlns:fx = "http://ns.adobe.com/mxml/2009" xmlns:s = "pbrary://ns.adobe.com/flex/spark" xmlns:mx = "pbrary://ns.adobe.com/flex/mx" xmlns:cpent = "com.tutorialspoint.cpent.*" initiapze = "apppcation_initiapzeHandler(event)"> <fx:Style source = "/com/tutorialspoint/cpent/Style.css" /> <fx:Script> <![CDATA[ import mx.events.FlexEvent; protected function apppcation_initiapzeHandler(event:FlexEvent):void { //create a new custom button var customButton: CustomButton = new CustomButton(); asPanel.addElement(customButton); } ]]> </fx:Script> <s:BorderContainer width = "630" height = "480" id = "mainContainer" styleName = "container"> <s:VGroup width = "100%" height = "100%" gap = "10" horizontalApgn = "center" verticalApgn = "middle"> <s:Label id = "lblHeader" text = "Custom Controls Demonstration" fontSize = "40" color = "0x777777" styleName = "heading" /> <s:Panel title = "Using MXML Component" width = "400" height = "200"> <cpent:CustomLogin> </cpent:CustomLogin> </s:Panel> <s:Panel title = "Using AS Component" width = "400" height = "100"> <s:VGroup id = "asPanel" width = "100%" height = "100%" gap = "10" horizontalApgn = "center" verticalApgn = "middle"> </s:VGroup> </s:Panel> </s:VGroup> </s:BorderContainer> </s:Apppcation>
Once you are ready with all the changes done, let us compile and run the apppcation in normal mode as we did in
chapter. If everything is fine with your apppcation, it will produce the following result: [ ] Advertisements