PDA

Просмотр полной версии : spark.components


Wolf
27.08.2012, 17:19
Помогите разобраться с элементами управления, а точнее с их созданием на чистом as3 коде в проєкте flex+air/

package
{
import flash.display.Sprite;
import flash.events.MouseEvent;
import spark.components.Button;
import spark.components.Panel;
/**
* ...
* @author
*/
public class Main extends Panel
{

public function Main()
{
var b:Button = new Button();
b.label = "test";
addElement(b);
}

private function click(e:MouseEvent):void {

}
}

}

выводит ошибку [Fault] exception, information=TypeError: Error #1009: Cannot access a property or method of a null object reference.
Fault, getStyleManager() at StyleManager.as:139

что еще надо писать стили для каждого єлемента? есть ли пример и готовый вариант?

Art_133
28.08.2012, 11:41
Скорее всего ошибка в другом месте.
Код, который вы представили, рабочий. по крайней мере у меня)

djyamato
28.08.2012, 13:28
что-то со стилями у Вас неверно но не в этой части кода, ругается StyleManager

Wolf
28.08.2012, 14:06
да, но єто весь проект. больше кода нет

Добавлено через 1 минуту
flash develop 4.04, air 3.3, flex 4.6.0

Добавлено через 5 минут
если добавить b.setStyle("color", 0x252369); то вылазит TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.styles::StyleManager$/getStyleManager()[E:\dev\4.y\frameworks\projects\framework\src\mx\styles\StyleManager.as:139]
at mx.core::UIComponent/get styleManager()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:4015]
at mx.core::UIComponent/getStyle()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:11126]
at spark.components::SkinnableContainer/get creationPolicy()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:504]
at spark.components::SkinnableContainer/createContentIfNeeded()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:1077]
at spark.components::SkinnableContainer/get http://www.adobe.com/2006/flex/mx/internal::currentContentGroup()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:448]
at spark.components::SkinnableContainer/addElement()[E:\dev\4.y\frameworks\projects\spark\src\spark\components\SkinnableContainer.as:761]
at Main()[C:\Users\Иван\Documents\MapEditor2\src\Main.as:19]

alatar
29.08.2012, 16:16
да, но єто весь проект. больше кода нет
Что значит "єто весь проект", а WindowedApplication вы куда дели?

Wolf
30.08.2012, 00:44
Есть у кого пример с использованием Air+Flex на чистом as с использованием элементов управления

alatar
30.08.2012, 01:14
Как минимум Application у вас должен быть в mxml (это необходимо для генерации загрузчика). Все остальное можно написать на чисто as. Все примеры есть в документации.

laliqui
27.09.2012, 10:56
Wolf
<?xml version="1.0" encoding="utf-8"?>

<local:MyApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:local="components.*">
</local:MyApplication>

package components
{


import mx.events.FlexEvent;
import spark.components.Application;

public class MyApplication extends Application {



public function MyApplication() {

addEventListener(FlexEvent.CREATION_COMPLETE, creationHandler);
}
private function creationHandler(e:FlexEvent):void {
//поехали
}

}
}