![]() |
Как реализовать выбор-подстановку как у Гугла?
У Гула переводчика (http://translate.google.ru) на днях появилась новая фича - можно кликнуть по слову в переводе и откроется список из вариантов, кликнув по которому производится замена слова.
У меня совсем другое, но нужно реализовать что-то подобное. Имеется несколько массивов из первых элементов которых формируется фраза, например "Хорошо в деревне летом", т. е. каждое слово - это первый элемент каждого массива. Мне нужно, чтобы при наведении на каждое слово оно превращалось в элемент DropDownList с элементами соответствующего массива и по клику это слово заменялось. Например, кликнув по "Хорошо" появляется список из вариантов из первого массива: "Хорошо", "Плохо", "Скучно", "Весело". Кликнули по "Весело" - получилась фраза "Весело в деревне летом". Ну и так с каждым словом. Вот как подобное лучше реализовать? Думал над ItemRenderom, но ума не приложу как его можно вставить например в Label. |
Жмакаете по слову,
находите его размеры и местоположение, сверху комбобоксик подгоняете, у которого датапровайдер у вас уже есть Или сразу создаете толпу комбобоксов задаете им стиль, чтоб сливался с окружающей средой. |
Ну вот допустим первоначальная фраза у меня в Label. И как можно найти размеры и местоположение отдельно взятого слова?
|
Тут я не помогу, вроде есть какие-то методы getBounds или measureText. Лучше в хелпе поискать или дождаться кого-нить, кто знает.
Добавлено через 4 минуты Вот вариант getCharBoundaries() у textField, правда textField протектная поляна, наследуйтесь, исследуйте. |
GBee, спасибо, посмотрю.
Может быть проще создать HBox и туда вставлять объекты label при наведении на которые они становятся невидимыми, но появляется comboBox с данными массива и при выборе итема, значение его передается в этот label. Проблема только в том, что у меня места для этого HBox мало, всего 250 пикселей, а фраза может состоять и из 10 слов. Сейчас буду пробывать. |
А если с состояниями поколдовать? Одним компонентом обойтись.
|
Цитата:
|
Что-то типа:
Код AS3:
|
Цитата:
Что-то я разучился как элементы создавать. Пробую так как в коде ниже, пишет, что объекта с именем например combo1 не существует (null), хотя его создание трейсится. Код AS3:
Код AS3:
|
Что-бы что-то достать, надо сначала это что-то положить. У вас ComboBox никуда не добавляется.
Цитата:
|
| Часовой пояс GMT +4, время: 19:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.