Flex 4 Combo - с использованием IME - PullRequest
3 голосов
/ 03 мая 2011

Я пытаюсь использовать IME (для ввода хирагана) в flex 4 spark combo.По завершении создания я устанавливаю следующее.

cbx_text.textInput.imeMode = IMEConversionMode.JAPANESE_HIRAGANA;

И чтобы проверить, отслеживая следующее:

trace(cbx_text.textInput.enableIME); returns true;
trace(cbx_text.textInput.imeMode); returns JAPANESE_HIRAGANA;

Однако, когда я выбираю ввод текста и начинаю набирать какой-то текст, яя не могу переключиться на хирагану.

Я могу настроить его на работу с компонентом textinput без проблем.

<s:TextInput imeMode="JAPANESE_HIRAGANA"></s:TextInput>

Кто-нибудь имел опыт работы с этим?Любое понимание высоко ценится.

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Сначала очевидные вопросы:

Вы уверены, что TextInput является членом cbx_text? Я знаю, что это кажется глупым, но лучше сначала устранить очевидное.

У вас включен IME на вашем компьютере? Например, вы регулярно набираете хирагану на своем компьютере и у вас включен соответствующий языковой пакет?

Отправляете ли вы IME строку соответствующим образом? IME.setCompositionString() для компьютеров Windows?

Поддерживает ли ваша ОС использование IME? Linux поддерживает только следующие методы:

  • Capabilities.hasIME
  • IME.enabled <= Может устанавливать или возвращать значение. </li>

Попробуйте отследить hasIME и посмотреть, установлено ли оно. Опять же, мы здесь стреляем - пытаемся отследить любую возможность возникновения проблемы.

Если ничего не помогает, перейдите к источнику:

1 голос
/ 02 августа 2011

Хотя у меня не было опыта работы с IME, я быстро взглянул на документацию: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/IME.html

Может ли быть так, что приложение не включено? Может быть, то, что возвращает true, действительно только для компонента, от которого вы отслеживаете?

...