2010-04-05 133 views
0

我有以下的代碼來創建和ActionScript 3中在ActionScript 3

public class MyCustomTextArea extends TextArea 
{ 
    override protected function createChildren():void 
    { 
    super.createChildren(); 
    this.styleSheet.setStyle("sup", { display: "inline", fontFamily: "ArialSup", fontSize:"12"}); 
    this.styleSheet.setStyle("sub", { display: "inline", fontFamily: "ArialSub", fontSize:"12"}); 
    this.setStyle("fontFamily", "Arial"); 
    } 
} 

申請幾個風格自定義文本區域定製文本區域應用樣式,我有兩個問題與此代碼。

當我創建類的實例時,this.styleSheet始終爲空。如果將this.styleSheet初始化爲新的StyleSheet()以避免此問題,那麼TextArea實例似乎無法識別可以與htmlText屬性一起使用的任何HTML標記。

任何人都可以幫助解決這兩個問題?謝謝。

回答

2

首先 - 默認情況下TextArea組件的styleSheet屬性爲null - 您看到的是預期的行爲。

你也在用一種不尋常的方式創建你的css樣式表 - 也許這是你的問題來自哪裏?我會嘗試加載或定義內聯樣式表以應用於您的文本區域。這裏有一個加載和應用樣式表的例子:http://blog.flexexamples.com/2008/03/22/applying-a-cascading-style-sheet-to-a-textarea-control-in-flex/

另外,什麼是ArialSub和ArialSup?如果這些不是有效的字體名稱,flex將不會識別它們並使用它們。

+0

字體嵌入在我的應用程序中,並且已知可以正常工作。所以這不是問題。將嘗試在該示例中的解決方案,看看。謝謝! – 2010-04-05 17:46:40

+0

得到我的代碼工作,如示例中所示。非常感謝! – 2010-04-06 16:20:07