Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.03.2009, 17:56
Lecosson вне форума Посмотреть профиль Отправить личное сообщение для Lecosson Найти все сообщения от Lecosson
  № 1  
Ответить с цитированием
Lecosson

Регистрация: Apr 2008
Сообщений: 80
Записей в блоге: 3
По умолчанию добавить простую кнопку

проект Flex AS3.
Не получается сабж.
Код AS3:
package lab.leto
{
	import mx.controls.Button;
 
	public class G3Aboard extends Sprite
	{
		public var buttonclose:Button;
 
		public function G3Aboard()
		{ 
			super();
			buttonclose=new Button();
			addChild(buttonclose);
		}
 
	}
}
Ошибок при компиляции не выдает, но предупреждает о несколько раз о:
Unable to resolve resource bundle "что-то" for locale "en_US".

Если я правильно понял, нужно подключить к проекту библиотеки с компонентами, но не могу найти их.
Ткните носом, пожалуйста.
Vista, FLEX3.0

Старый 28.03.2009, 19:42
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 2  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
G3Aboard - это документ class? проект Flex или АсtionScript?

Ну и вообще, вы пользуете flex sdk - там свои правила, нельзя так просто создать кнопку и добавить в Sprite - контэйнер должен быть как минимум наследником UIComponent + весь проект флексовским.

Старый 28.03.2009, 20:11
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 3  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Ну и вообще, вы пользуете flex sdk - там свои правила, нельзя так просто создать кнопку и добавить в Sprite - контэйнер должен быть как минимум наследником UIComponent + весь проект флексовским.

Не совсем так, но очень близко:
Чтобы добавить флексовый компонент, нужно в своем классе, куда его добавляем произвести с компонентом все операции, которые с ним делает LayoutManager во время "ступенчатой инициализации" - для одного компонента это очень много мороки т.как вам прийдеться самому реализовать с пяток очень немаленьких флексовых интерфейсов. И только ради флексовой кнопки оно того точно не стоит.
Для того, чтобы работало обратное - т.е. добавить свой компонент в дисплей лист флексовых компонентов, вам нужно будет реализовать дополнительно IDeferredInstantiationUIComponent, опять же делать это только ради одного компонента - бессмысленная трата времени, но в некоторых ситуациях (таких, как например, когда хочется, чтобы один и тот же компонент мог быть использован и в фрейморковском проекте и вне его - вполне может пригодиться).
__________________
Hell is the possibility of sanity

Старый 28.03.2009, 20:59
Lecosson вне форума Посмотреть профиль Отправить личное сообщение для Lecosson Найти все сообщения от Lecosson
  № 4  
Ответить с цитированием
Lecosson

Регистрация: Apr 2008
Сообщений: 80
Записей в блоге: 3
Спасибо всем за ответы.
К сожалению, я задал вопрос не в той теме, скорее нужно было оставить сообщение в AS3, просто код пишу во Флекс Билдере.
Как я и написал, мне нужно было просто добавить кнопку, самую простую. Поскольку мороки не хотелось, создал спрайт, нарисовал в нем rectangle и текстовую строчку, повесил реакцию на мышиный клик.
Собственно, можно было бы на этом и закончить, но хочется все-таки понять, как можно программно, без возни с swc, добавить обычные флешевые компоненты на stage (кнопки, чекбоксы и т.п.). Помогите новичку, пожалуйста.

Старый 28.03.2009, 21:20
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 5  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Из Флекс билдера "без возни с SWC" - никак не добавить флешевые компоненты... SWC - лучший вариант чем SWF, но принцип одинаковый: Скомпилировать флешевые компоненты в SWC, подключить эту библиотеку к проекту и от туда добавлять.

Только вы в вашем примере не флешевую кнопку добавляете, а флексовую...
__________________
Hell is the possibility of sanity

Старый 28.03.2009, 23:21
7thsky™ вне форума Посмотреть профиль Отправить личное сообщение для 7thsky™ Найти все сообщения от 7thsky™
  № 6  
Ответить с цитированием
7thsky™
Flash Aксакал
 
Аватар для 7thsky™

Регистрация: Jun 2005
Сообщений: 636
Цитата:
Сообщение от wvxvw Посмотреть сообщение
...
Не совсем так, но очень близко:
Чтобы добавить флексовый компонент, нужно в своем классе, куда его добавляем произвести с компонентом все операции, которые с ним делает LayoutManager во время "ступенчатой инициализации" ...
Не совсем так, но очень близко:

Инициализацию компонента в Flex SDK инициирует контейнер куда этот компонент добавили.
Смотрите методы:
+ UIComponent#mx_internal::addingChild
+ UIComponent#mx_internal::childAdded
их вызывают из UIComponent#addChildAt, можно посмотреть также и overrided методы в Container.

LayoutManager - ответственнен же не за инициализацию, так метод UIComponent#initialize у добавленного компонента вызывается из childAdded, а за ВАЛИДАЦИЮ компонента (так все что он вызывает у компонента это validateProperties, validateSize, validateDisplayList).


Последний раз редактировалось 7thsky™; 28.03.2009 в 23:30.
Старый 29.03.2009, 00:49
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
http://www.flasher.ru/forum/showthre...wpost&t=121384
Загляни завта в эту ветку, я думаю, это просто сложности перевода я поэтому в кавычках написал - не знал, как перевести Валидация, так валидация.
И это, контейнер не сам решает, когда сделать валидацию - это у них централизовано происходит но можно форсировать, если захочется.
__________________
Hell is the possibility of sanity

Старый 29.03.2009, 01:14
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 8  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
У 7thsky и wvxvw какая то виндетта? Тут был конкурс на людей с непроизносимыми никами, и вы не можете друг друга простить=)?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 29.03.2009, 01:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Не правда! Мой ник вполне даже благозвучно читается! Даблъювиексвидаблъю!
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:39.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.