IME를 사용하는 경우에도 단추를 누를 때 프로그래밍 방식으로 문자를 추가 할 수 있습니다 (일본어 IME를 지금 사용하고 있습니다).). 일반적으로 매우 쉽습니다. 즉,히라가나 IME가 활성화되어있을 때 TextInput에 문자를 프로그래밍 방식으로 추가하십시오.
protected function button_clickHandler(event:MouseEvent):void
{
ti.text = "k";
}
여기서 ti는 TextInput 구성 요소입니다. 그러나 IME를 사용할 때 상황이 조금 복잡해집니다. 위의 코드는 히라가나 IME를 사용하는 경우에도 ti에 k를 추가합니다. 아니에요하지만 내가합니다 (IME 문서를 보면서 나는이 트릭을하고 있다고 생각 처음이
protected function button_clickHandler(event:MouseEvent):void
{
IME.setCompositionString("k");
}
같은 시도했지만 그것은 같은 반각 가타카나의 모습에 항상 기본값 보인다 100 % 확실). 히라가나 conversionMode가 현재 선택되었거나 구성 문자열을 설정하기 전에 설정 한 경우에도 마찬가지입니다. 불행히도 IME 라이브러리는 오픈 소스가 아닌 것 같아서 버그인지 아닌지 잘 모르겠습니다.
누구에게 조언이 있는지 궁금해하고 있습니다. 저는 이것이 매우 구체적이어서 확률이 낮다는 것을 알고 있지만 시도해 볼 것이라고 생각했습니다.
감사합니다.
: 여기에 내가 말하는 것을 시험해 볼 수있는 몇 가지 코드가 있습니다. 참고 : 컴퓨터에서 일본어 IME 설정이 필요합니다. 저는 이것을 일본어 IME 설정이있는 Windows 7 상자에서 사용하고 독립 실행 형 플래시에서 실행합니다. 히라가나와 카타카나에서 k를 입력하는 것의 차이를보기는 어렵지만, 자세히 보면 차이가 있음을 알아야합니다 (그리고 다른 결과가 나타나면 바로 'a'를 입력해야합니다).
<?xml version="1.0"?>
<!-- dpcontrols/adg/SimpleADG.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
protected function button_clickHandler(event:MouseEvent):void
{
ti.setFocus();
try
{
IME.enabled = true;
IME.conversionMode = IMEConversionMode.JAPANESE_HIRAGANA;
IME.setCompositionString("k");
}
catch (error:Error)
{
trace("Unable to set conversion mode.\n" + error.message);
}
}
]]>
</fx:Script>
<s:VGroup>
<s:TextInput id="ti"/>
<s:Button label="go" click="button_clickHandler(event)"/>
</s:VGroup>
</s:Application>
J_A_X 답장을 보내 주셔서 감사합니다. IME가 활성화되어 있고 폴링 할 때 conversionMode가 올바르게 설정되어 있지만 setCompositionString의 기본값은 여전히 다른 conversionMode입니다. 그리고 예, 모든 글꼴을 사용할 수 있습니다 - 나는 TextInput에 Hiragana와 Katakana를 모두 입력 할 수 있습니다. 누구나이 코드를 재현하려고하는 경우 원래 게시물에 코드를 추가 할 것입니다. –
코드를 붙여주세요. 시도하겠습니다. –
. 코드는 원래 게시물에 있습니다. SWF는 http://dl.dropbox.com/u/8639981/bugTest.swf –