|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
как назначить диспечиризвцию 3-ох обектов в одном классе???
Есть три комбобокса в одном классе, нужно назначить диспечиризацию каждому из них и потом вызывать в другом классе
Вот так с одним комбобоксом работает public var cb_spieler:ComboBox = new ComboBox(); public var cb_einsatz:ComboBox = new ComboBox(); public var cb_startkapital:ComboBox = new ComboBox(); cb_spieler.addEventListener(Event.CHANGE, Change); private function Change(event:Event){ dispatchEvent(new Event("Change_comBox1")); } public function get selectedLabel():String{ return cb_spieler.selectedLabel; } //-------------------------------------------------------------------------------- private function Change(event:Event){ switch (event.target) { case cb_spieler: { dispatchEvent(new Event("Change_comBox1")); } break; case cb_einsatz: { dispatchEvent(new Event("Change_comBox2")); } break; case cb_startkapital: { dispatchEvent(new Event("Change_comBox3")); } break; } } //-------------------------------------------------------------------------------- public function get selectedLabel():String{ switch (this.target) { case cb_spieler: { return cb_spieler.selectedLabel; } break; case cb_einsatz: { return cb_einsatz.selectedLabel; } break; case cb_startkapital: { return cb_startkapital.selectedLabel; } break; } } //------------------------------------------------------------------------------- Всем спасибо за ответы.. |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
Ваша функция ничего не возвратит, если ни один case в switch'e не сработает, потому и ругается
ЗЫ: Что мешает чделать так: ? Последний раз редактировалось dixus; 23.02.2010 в 19:37. |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Так что мне еще default прописать?
А ход правильный...? Я на счет вопроса, что в названии темы.. Добавлено через 13 минут Дело в том, что я никак не могу врубиться как работают set и get, функция не будет работать вообще, поскольку в get методы нельзя передавать никакие параметры, так как все таки сделать? |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
Собственно, что должно возвращать selectedLabel? Лейбл последнего измененного комбобокса? Если да - то надо сохранять информацию о том, к какому комбобоксу обращались последний раз.
|
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Нужно сделать, чтоб возвращало, лейблы всех трех комбобоксов...
вот так, если выбирать значения комбобоксов, работает, а если их не трогать, то исть CHANGE не срабатывает и соответственно все косбобоксы null... |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
в таком случае стоит их возвращать массивом/упаковать в одну строку, а еще лучше - по возможности сделать по отдельному аксессору на каждый комбобокс.
Почему бы не инициировать selectedBox изначально? Если возвращать что-то надо только когда юзер что-то выбирал в комбобоксах - заведите соответствующий флажок. |
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Цитата:
В таком случае, этот комбобокс, имеет значение, то что нужно, а остальные null |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
Не понял. selectedBox у вас один, и он ссылается на cb_spieler. cb_einsatz и cb_startkapital у вас инициализированы изначально. Что тогда null?
|
|
|||||
Регистрация: Jan 2007
Сообщений: 302
|
Да, верно, но если собитие Change не происходит, тоисть пользователь, не выбирает никаких значений, а остаются значения те, которые заданы по умолчанию...
Соответственно в selectedBox отсылает null, Если так тоже непонятно, могу выставить код, там немного.. |
|
|||||
Регистрация: Feb 2010
Сообщений: 33
|
Ну вообще это вполне логично =) Либо в коде, использующем ваш selectedLabel, учитывайте такую возможность, либо изначально проставьте выбранные значения для комбобоксов.
|
Часовой пояс GMT +4, время: 19:33. |
|
« Предыдущая тема | Следующая тема » |
|
|