Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)

2. μ?o?àà×é?t
?
2.1 ToggleButtonBar μ?o?°′?¥×é
ToggleButtonBar ê?ButtonBar μ?×óàà£?????à′μ?o?1|?ü£??éò?3?D?±£3??í?§??×′ì??£
í?ê±?ú????é???μ±?°μ????D×′ì?×??÷è·μ?±êê??£
?
toggleOnClick ê?D????÷ê?·??éò?í¨1yμ¥?÷è??????Dμ?×′ì??£true£oμ±êó±êμ¥?÷ò??-???Dμ?°′?¥ê±£???°′?¥???′μ??y3£×′ì??£false£o?ò2??á???′?£
【Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)】?
itemClick="btn_click_handler(event); " ?àìyó??§μ?μ¥?÷?ˉ×÷?£
?
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ?creationComplete="initUI()">??
  3. ??????
  4. ??????
  5. ????????
  6. ????????????//μ?è?μ??÷ê??t???ó ?
  7. ????????????import?mx.events.ItemClickEvent; ???????? ?
  8. ????????????internal?function?initUI():void{ ?
  9. ????????????????var?data_arr:Array?=?new?Array(); ?
  10. ????????????????data_arr.push("Flex"); ?
  11. ????????????????data_arr.push("Flash"); ?
  12. ????????????????data_arr.push("Flash?Media?Server"); ?
  13. ????????????????data_arr.push("Flex?Data?Server"); ?
  14. ????????????????//ìí?óêy?Y?′ ?
  15. ????????????????btns.dataProvider?=?data_arr; ?
  16. ????????????} ?
  17. ????????????//′|àíitemClickμ??÷ê??t ?
  18. ????????????internal?function?btn_click_handler(evt:ItemClickEvent):void{ ?
  19. ????????????????tip_txt.text?=?"μ??÷μ?°′?¥£o"+evt.index+":"+evt.label; ?
  20. ????????????} ?
  21. ????????]]>??
  22. ??????
  23. ????
  24. horizontalGap="5"?x="22"?y="82">??
  25. ??????
  26. ???? ??
  27. ??????
  28. ???? ??
  29. ??


?
2.2? TabBar ±ê??×é
TabBar ?úToggleButtonBar μ??ù′?é??ìD?à??1£???±?á??????D×′ì?μ?±í??D?ê?£??????D??ò?±ê??μ?D?ê?í?3???ê?£??aμ??úTabNavigator ?àí?£?2?1y?ü2?°üà¨????×ó??èY?÷?£
?éoíè?o?×é?t?áo?ê1ó?£???2??????TóúèY?÷?£
TabBar ±?éí??°üà¨á?ò?×é±ê??£???óD?????úèY?£
myViewstack.selectedIndex = evt.index;
??TabBar μ?°′?¥?÷òyoíViewStack μ?±????D?a??μ?????1?áa?eà′?£
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ???? ??
  4. ??????
  5. ??????
  6. ????????
  7. ???????? ?
  8. ????????????import?mx.events.ItemClickEvent; ???????? ?
  9. ???????? ?
  10. ????????????internal?function?btn_click_handler(evt:ItemClickEvent):void{ ?
  11. ????????????????myViewstack.selectedIndex?=?evt.index; ?
  12. ????????????} ?
  13. ????????]]>??
  14. ??????
  15. ???? ??
  16. ??????
  17. ??????
  18. ??????????
  19. ??????????????
  20. ????????????????Flex??
  21. ????????????????Flash??
  22. ????????????????FMS??
  23. ????????????????FDS??
  24. ??????????????
  25. ??????????
  26. ??????
  27. ??????
  28. ??????????
  29. ??????????????
  30. ??????????????????
  31. ?????????????????????????????????????? ??
  32. ??????????????????????
  33. ??????????????????????
  34. ??????????????????????
  35. ??????????????????????
  36. ??????????????????
  37. ??????????????
  38. ??????????
  39. ??????????
  40. ??????????????
  41. ??????????????
  42. ??????????
  43. ??????????
  44. ??????????????
  45. ??????????
  46. ??????????
  47. ??????????????
  48. ??????????
  49. ??????
  50. ??????
  51. ???? ??
  52. ??

Flex Flash FMS FDS ?
5.3 ê1ó?2?μ¥μ?o? -- ′′?¨ò????òμ¥μ??à??2?μ¥
ê1ó?MenuBar 2?μ¥ì?×÷è???μ?o??£
?úê1ó?AS ?¨ò?XML êy?Yê±£??éò?ê1ó???DD·?±£3?XMLêy?Yμ???ê?£???òaXML μ?±ê???yè·£?±àò??÷×??ˉ?áê?±e?£
?únode ?a???Dμ? enabled ê?D? ′ú±íê?·??éó?£???è?true?a?éó?£?false?a2??éó?2?μ¥??±?3é?òé??£
type ê?D? ?a separator ′ú±íò???·??????£
?
XML oí XMLList ??ê?ó?à′?¨ò?XML êy?Y£?2?í?μ?ê?£?XMLList ê??à??XML êy?Yμ??ˉo??£
?ú?a??ày×ó?D£?mXMLê?XMLListààDí£??ù?úμ?±?o???£?item ?úμ?±??a???a?àá¢μ? XML êy?Y?£ item ?úμ?±?D?óDò????ù?úμ?£?2??éo????£
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ???? ??
  4. ???????????????? ??
  5. ??????
  6. ????????
  7. ????????????import?mx.controls.Alert; ??????? ?
  8. ????????????import?mx.events.MenuEvent; ?
  9. ???????????? ?
  10. ????????????private?var?mXML:XML?= ?
  11. ???????????????? ?
  12. ???????????????????? ?
  13. ???????????????????????? ?
  14. ???????????????????????? ?
  15. ???????????????????????? ?
  16. ???????????????????????? ?
  17. ???????????????????? ?
  18. ???????????????????? ?
  19. ???????????????????????? ?
  20. ???????????????????????? ?
  21. ????????????????????? ?
  22. ????????????????; ?
  23. ???????????? ?
  24. ????????????internal?function?initApp():void{ ?
  25. ????????????????//?aMenuBarìí?óêy?Y?′ ?
  26. ????????????????myMenu.dataProvider?=?mXML; ?
  27. ????????????????//?àìyMenuμ?μ??÷êμ?ù ?
  28. ????????????????myMenu.addEventListener(MenuEvent.ITEM_CLICK,menuClickHandler); ?
  29. ????????????} ?
  30. ???????????? ?
  31. ????????????internal?function?menuClickHandler(evt:MenuEvent):void{ ?
  32. ????????????????Alert.show("????2?μ¥£o"+evt.item.@data,"ìáê?D??¢"); ?
  33. ????????????} ?
  34. ????????]]>??
  35. ??????
  36. ??????
  37. ??????????
  38. ????????????? ??
  39. ??????????
  40. ??????????
  41. ???????????? ??
  42. ?????????????????? ??
  43. ??????
  44. ???? ??
  45. ??

; internal function initApp():void{ //?aMenuBarìí?óêy?Y?′ myMenu.dataProvider = mXML; //?àìyMenuμ?μ??÷êμ?ù myMenu.addEventListener(MenuEvent.ITEM_CLICK,menuClickHandler); } internal function menuClickHandler(evt:MenuEvent):void{ Alert.show("????2?μ¥£o"+evt.item.@data,"ìáê?D??¢"); } ]]> ?
2.4 PopUpButton ??à-μˉ3?′°?ú???t
PopUpButton ê?ò???ì?êaμ?Button£? ±?éíóéá???Button×é3é£o?÷°′?¥oí×ó°′?¥?£μ??÷×ó°′?¥?éò???è?o?×é?t×÷?a′°?úμˉ3?£???óú×?é?2??£?a??μˉ3??ˉ×÷óé PopUpMenuButton íê3é?£
PopUpButton μ?open ê??toí close ê??t£oμˉ3?oíμˉ3?′°?ú1?±?ê±′¥·¢?£
popUp ê?D?£o??òaμˉ3?μ????ó?£
DropdownEvent.CLOSE oí DropdownEvent.OPEN ê??tר??????μˉ3?′°?ú?£μ??÷?÷°′?¥£?′¥·¢μ?ê??toíButton ê?ò??ùμ?£?±èè?click?£
?
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ??????
  4. ????????Application{ ??
  5. ????????????fontSize:12; ??
  6. ????????????backgroundGradientColors:?#c0c0c0,?#c0c0c0; ??
  7. ????????} ??
  8. ??????
  9. ??????
  10. ????????
  11. ????????????import?mx.containers.Panel; ????? ?
  12. ????????????import?mx.controls.Alert; ??? ?
  13. ????????????import?mx.events.DropdownEvent; ?
  14. ?
  15. ????????????private?var?panel:Panel; ?
  16. ?
  17. ????????????private?function?initApp():void?{ ?
  18. ????????????????panel?=?new?Panel(); ??//éù?÷D?μ?Panel ?
  19. ????????????????panel.title?=?"panel"; ?
  20. ????????????????panel.width?=?200; ?
  21. ????????????????panel.height?=?200; ?
  22. ????????????????popBtn.popUp?=?panel; ???????????//???¨popUp??±ê???ó??????? ?
  23. ????????????????popBtn.addEventListener(DropdownEvent.CLOSE,closeHandler); ??//?????????? ?
  24. ????????????????popBtn.open(); ??????//??′°?úμˉ3? ?
  25. ????????????}??????????? ?
  26. ?
  27. ???????????? ?
  28. ????????????private?function?closeHandler(evt:DropdownEvent):void{ ?
  29. ????????????????Alert.show("1?±?′°?ú"); ?
  30. ????????????} ?
  31. ????????]]>??
  32. ??????
  33. ??????
  34. ???? ??
  35. ??

Application{ fontSize:12; backgroundGradientColors: #c0c0c0, #c0c0c0; } ?
2.5 PopUpMenuButton
?ì3D×?PopUpButton£?ê? PopUpButtonμ?ò???ì?êaêμày?£???ü°?Menu μ±×÷μˉ3?′°?ú£??òMenu ???üóD1??2????£
Menu ó?à′′′?¨2?μ¥£?2?1yoí Menu?à±è£??üéùá?2?μ¥ì??£?ò??óD??ó|μ?MXML±ê??£????üóé′ú??′′?¨?£
PopUpMenuButton ?D?ú??á?ò???Menu ?£
?¨ò?XML êy?Y£????ü′??? PopUpMenuButton μ? dataProvider £?×÷?a?ú??μ?Menu μ?êy?Y?′?£
MenuEvent.ITEM_CLICK ê??t£oμ±2?μ¥??±????Dê±£?ê??t±?′¥·¢£?í?ê±2?μ¥1?±??£
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ??????
  4. ????????Application{ ??
  5. ????????????fontSize:12; ??
  6. ????????????backgroundGradientColors:?#c0c0c0,?#c0c0c0; ??
  7. ????????} ??
  8. ??????
  9. ??????
  10. ????????
  11. ????????????import?mx.controls.Alert; ??? ?
  12. ????????????import?mx.events.MenuEvent; ?
  13. ???????????? ?
  14. ????????????private?var?mXML:XMLList?= ?
  15. ????????????????<> ?
  16. ???????????????????? ?
  17. ???????????????????????? ?
  18. ???????????????????????? ?
  19. ???????????????????????? ?
  20. ???????????????????? ?
  21. ???????????????????????????????????????????? ?
  22. ???????????????????? ?
  23. ???????????????????????? ?
  24. ???????????????????????? ?
  25. ????????????????????? ?
  26. ????????????????; ?
  27. ????????????private?function?initApp():void?{ ?
  28. ????????????????popBtn.dataProvider?=?mXML; ?//μˉ3?2?μ¥μ?êy?Y?′ ?
  29. ????????????????popBtn.addEventListener(MenuEvent.ITEM_CLICK,clickHandler); ? ?
  30. ????????????}??????????? ?
  31. ????????????private?function?clickHandler(evt:MenuEvent):void{ ?
  32. ????????????????Alert.show("????2?μ¥£o"+evt.label+":2?μ¥Dòo?£o"+evt.index); ?
  33. ????????????} ?
  34. ????????]]>??
  35. ??????
  36. ??????
  37. ???? ??
  38. ??
1.8 DataGrid ×é?t -- ??×÷í?êé??1oáD±í
DataGrid×é?tμ?×÷ó?oíHTMLò3???Dμ?±í??àà??£???êy?Yò?DD?¢áDμ???ê???ê?3?à′?£
?
??ò?×YáDμ??í?è2??¨£?ó??§?éò??ú??DDê±μ÷???í?è?£
?é?ú??DDê±μ÷??áDμ??3Dò
μ??÷áD±êìaà??é??áDêy?Y??DD??Dò
?éò?×??¨ò???áDμ?±êìaà?
oíList×é?tò??ù£??éò?×??¨ò?????μ¥?a??μ?itemRenderer
?
ê1ó?Model?¨ò?êy?Y?′£?
columns ?¨ò?á??ùóDμ?áD£????DDataGridColumn ′ú±íò?áDμ?D??¢£?dataFieldμ??μ2??éê???£??a???μ±?D?ê?êy?Y?′?D??ì?êy?Y°üo?μ?ê?D???£?·??ò?T·¨??ê??£headerText ±íê?áD±êìa?£
rowCount ±íê???ê?μ?DDêy£?è?1?height??óDéè??£??òó??a??ê?D?à′??ê????è?£height=rowCount*rowHeightDD???£
selectedItem ê?D?′ú±íμ±?°???DDDμ?êy?Y£??éò??úêy?Y°ó?¨?D£?μ±?üμ??μ·¢éú±??ˉê±£?ê1ó???ê?D?μ?è?o????t???á×??ˉ?üD??£
?
?ó×??ò??à?ó?itemRenderer ?úDataGrid?D?óè??′???ò′′?¨×é?t£o
?ú×é?t?Dìí?óò????′???ò?£2¢ìí?óchangeê??tμ?·?·¨addCart?£
this.parentApplication ±íê???Application£??íê??ò??oó??ê1ó???×é?tμ?Application?£
new cartEvent(data,cart_check.selected)
addCart ·?·¨′′?¨á?ò???×??¨ò?ê??t cartEvent ê??t£?2¢?ò??±?òaμ?ê?D?′?μ???ê??t£?
è?oóí¨1y dispatchEvent ?é·¢??ê??t?£
?
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ??????
  4. ????????
  5. ????????????import?bookEvent.cartEvent; ?
  6. ????????????internal?function?addCart():void{ ?
  7. ????????????????this.parentApplication.dispatchEvent(new?cartEvent(data,cart_check.selected)); ?
  8. ????????????} ?
  9. ????????]]>??
  10. ??????
  11. ??????
  12. ??


ò????a?¨ò?ò???cartEvent ê??tàà£o
?ùóDμ?ê??t?ì3DEvent£? ?ú11?ìoˉêy?D?¨ò?á?á???2?êy£o_data oí _isAdd£?′′?¨ê??tμ?ê±oò£???í¨1y?aá???2?êy??D??¢′?è?ê??t?D?£
super("AddBook") μ÷ó???ààEvent μ?11?ìoˉêy£?2¢°?ê??tààDí?°AddBook?±′?μY1yè¥?£??óDμ÷ó?á???ààμ?11?ìoˉêy£?2??ü3é?a???yμ?ê??t???ó?£
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. package?bookEvent ??
  2. { ??
  3. ????import?flash.events.Event; ??
  4. ??
  5. ????public?class?cartEvent?extends?Event{ ??
  6. ????????public?var?isAdd:Boolean; ??
  7. ????????public?var?book:Object; ??
  8. ????????function?cartEvent(_data:Object,_isAdd:Boolean):void{ ??
  9. ????????????isAdd?=?_isAdd; ??
  10. ????????????book?=?_data; ??
  11. ???????????? ??
  12. ????????????super("AddBook"); ??
  13. ????????} ??
  14. ????} ??
  15. }??

package bookEvent{ import flash.events.Event; public class cartEvent extends Event{ public var isAdd:Boolean; public var book:Object; function cartEvent(_data:Object,_isAdd:Boolean):void{ isAdd = _isAdd; book = _data; super("AddBook"); } }}?
?ó??à′ê??÷3ìDò?£
?ú3ìDò3?ê??ˉoˉêy?D£?addEventListener("AddBook",AddHandler) ?aμ±?°???óìí?óá???AddBookê??tμ??àìy?£
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ??????????
  4. ????????????
  5. ????????????????import?mx.events.DataGridEvent; ?
  6. ????????????????import?mx.events.DataGridEventReason ?
  7. ????????????????import?bookEvent.cartEvent; ?
  8. ????????????????import?view.*; ?
  9. ???????????????? ?
  10. ????????????????internal?function?initApp():void{ ?
  11. ????????????????????addEventListener("AddBook",AddHandler); ?
  12. ????????????????} ?
  13. ????????????????internal?function?AddHandler(evt:cartEvent):void{ ?
  14. ????????????????????if(evt.isAdd){ ?
  15. ????????????????????????tip_txt.text?=?"??????1o?ò£o"+evt.book.name; ?
  16. ????????????????????}else{ ?
  17. ????????????????????????tip_txt.text?=?"??·??ú1o?ò£o"+evt.book.name; ?
  18. ????????????????????} ?
  19. ????????????????} ?
  20. ???????????????? ?
  21. ????????????????internal?function?checkInfo(evt:DataGridEvent):void{ ?
  22. ????????????????????//è?1???óD×÷DT?? ?
  23. ????????????????????if?(evt.reason?==?DataGridEventReason.CANCELLED){ ?
  24. ????????????????????????return; ?
  25. ????????????????????} ?
  26. ????????????????????//è·?¨DT??μ?ê?D? ?
  27. ????????????????????if(evt.dataField?==?"date"){ ?
  28. ????????????????????????//???3y?-à′μ?êy?Y ?
  29. ????????????????????????evt.preventDefault(); ?
  30. ????????????????????????//?μ?μ?D?μ?êy?Y ?
  31. ????????????????????????book_DG.editedItemRenderer.data.date?=?dateCell(DataGrid(evt.target).itemEditorInstance).num_year.value; ?
  32. ????????????????????????//?1?±?item?editor ?
  33. ????????????????????????book_DG.destroyItemEditor(); ? ?
  34. ????????????????????????//?üD?êy?Y?′? ?
  35. ????????????????????????book_DG.dataProvider.itemUpdated(evt.itemRenderer.data); ?
  36. ????????????????????} ?
  37. ????????????????} ?
  38. ????????????]]>??
  39. ??????????
  40. ??????????
  41. ??????????????
  42. ??????????????????
  43. ????????????????????Flashμúò?2???
  44. ????????????????????3?±ù??
  45. ????????????????????2006??
  46. ??????????????????
  47. ??????????????????
  48. ????????????????????Flexμúò?2???
  49. ????????????????????walktree??
  50. ????????????????????2007??
  51. ??????????????????
  52. ??????????????????
  53. ????????????????????Apolloμúò?2???
  54. ?????????????????????12??aμà????
  55. ????????????????????2008??
  56. ??????????????????
  57. ??????????????
  58. ???????????? ??
  59. ??????????
  60. ??????????
  61. ??????????????
  62. ??????????????????
  63. ??????????????????
  64. ??????????????????
  65. ??????????????????
  66. ??????????????
  67. ??????????
  68. ???????? ??
  69. ??????????
  70. ??????????? ??
  71. ??????????
  72. ??
  73. ??

Flashμúò?2? 3?±ù 2006 Flexμúò?2? walktree 2007 Apolloμúò?2? ?12??aμà?? 2008
?
′?ía?1óDheaderRenderer ????±êìaà?μ????? oí itemEditor ????μ¥?a???D±à?-×′ì???μ?????£?ê1ó??úitemRendererò??ù?£òaê1ó?itemEditor±?D???DataGrid μ?editable ê?D?éè?atrue?£?1òaéè??oˉêyà′′|àí±à?-íê3éê??t£??üD?êy?Y?£?÷3ìDò′ú????é??? ?£
?
?ó×??ò???ù?¨ò?ò???×é?t£o
?ú????μ?×é?t?D£?ê1ó?á?NumericStepper êy×????????tà′ìá1?±??Y2ù×÷?£
?úó??§íê3é±à?-μ¥?a??êy?Yoó£?itemEditEndê??t??±?′¥·¢£?DataGridEvent ê??t±??é·¢3?襣?òò′?ê1ó??àìyoˉêy£oitemEditEnd="checkInfo(event)"
if (evt.reason == DataGridEventReason.CANCELLED) ?ì2éê??tμ?ààDí
Xml′ú?? Flexê1ó?×é?t′|Flexê1ó?×é?t′|àíêy?Yoí???¥μ?o?àà×é?t(1)
文章图片


  1. ??
  2. ??
  3. ??????
  4. ??????
  5. ??


    推荐阅读