我有一个非常简单的 Flex 4 (Gumbo) 练习程序。
package
{
import mx.controls.ColorPicker;
import mx.controls.Label;
import mx.events.ColorPickerEvent;
import flash.display.Sprite;
public class testClass extends Sprite
{
private var cPicker:ColorPicker = new ColorPicker();
private var lbl:Label;
public function testClass()
{
cPicker.addEventListener(ColorPickerEvent.CHANGE,
colorPicker_change);
cPicker.move(10, 10);
addChild(cPicker);
lbl = new Label();
lbl.text = cPicker.hexValue;
lbl.move(10, 40);
addChild(lbl);
}
private function colorPicker_change(evt:ColorPickerEvent):void
{
lbl.text = cPicker.hexValue; // ff0000
}
}
}
但是在命令行上使用'mxmlc.exe testClass.as'构建后,我得到......
C:\src>mxmlc testClass.as 加载配置文件 C:\flex_sdk_4\frameworks\flex-config.xml C:\src\testClass.as(21): col: 32 Error: Access of possible undefined property hexValue through a引用静态类型 mx.controls:ColorPicker。
lbl.text = cPicker.hexValue; ^
C:\src\testClass.as(28): col: 32 错误:通过静态类型 mx.controls:ColorPicker 的引用访问可能未定义的属性 hexValue。
lbl.text = cPicker.hexValue; // ff0000 ^
为什么它认为cPicker是静态的?或者那个cPicker.hexValue是未定义的?
此外,似乎即使在使用import关键字在代码中导入 ColorPicker 库之后,我也必须在命令行上将其导入以进行构建。那是对的吗?