Flex获取用户电脑上安装的所有字体

  Font 类定义了一个静态方法叫做enumateFonts 来返回一个用户电脑上所有字体的数组。这
个方法返回包括flash.text.Font 对象的数组。flash.text.Font 定义了三种属性。
fontName
这是一个系统报告的字体名称。在某些情况下,比如日语,韩语或者阿拉伯语,Flash
Player 可能无法正常地渲染这些字体。
fontStyle
这是一个字体风格: Regular, Bold, Italic, or BoldItalic.
fontType
这个属性有两个选择。一个叫设备字体,意思是用户电脑上已经安装了的字体。另
一个叫嵌入式字体,意思是把字体嵌入到swf 文件中。
在下面的例子中,这些字体被传递给一个ComboBox,用户可以为Text area 选择一个字体
类型。setStyle 方法的调用
text.setStyle("fontFamily", (cb.selectedItem as Font).fontName);
设置了Text 组件中的当前字体为ComboBox 中Font 对象的fontName 属性所对应的字体。
这里是你需要的完整代码:

Java代码
  1. <mx:Application  
  2. xmlns:mx="http://www.adobe.com/2006/mxml"   
  3. layout="absolute" >  
  4. <mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"  width= "400"   
  5. height="300"  creationComplete= "findAllFonts()" >  
  6. <mx:Script>  
  7.     <![CDATA[  
  8.     private  var style:StyleSheet;  
  9.     [Bindable]  
  10.     private  var arr:Array;  
  11.     private  function findAllFonts(): void  {  
  12.         arr = Font.enumerateFonts(true );  
  13.         arr.sortOn("fontName" , Array.CASEINSENSITIVE);  
  14.     }  
  15.     private  function setFont(): void  {  
  16.         text.setStyle("fontFamily" , (cb.selectedItem as Font).fontName);  
  17.     }  
  18.     ]]>  
  19. </mx:Script>  
  20.     <mx:ComboBox id="cb"  dataProvider= "{arr}"  change= "setFont()"   
  21.         labelField="fontName" />  
  22.     <mx:Text text="Sample Text"  id= "text"  fontSize= "16" />  
  23. </mx:VBox>  
  24. </mx:Application>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值