2011-03-17 8 views
1

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> 

답변

0

버그를 제기했습니다. Adobe에서 말하는 내용을 살펴 보겠습니다.

2

첫째,이 링크를 보면 : http://livedocs.adobe.com/flex/3/html/help.html?content=18_Client_System_Environment_6.html

당신이 IME 활성화했는지 확인하고 적절한 설정을 확인합니다. 둘째, 어떤 플렉스 버전을 사용하고 있습니까? 언어를 처리 할 수있는 응용 프로그램에로드 된 글꼴이 있습니까?

+0

J_A_X 답장을 보내 주셔서 감사합니다. IME가 활성화되어 있고 폴링 할 때 conversionMode가 올바르게 설정되어 있지만 setCompositionString의 기본값은 여전히 ​​다른 conversionMode입니다. 그리고 예, 모든 글꼴을 사용할 수 있습니다 - 나는 TextInput에 Hiragana와 Katakana를 모두 입력 할 수 있습니다. 누구나이 코드를 재현하려고하는 경우 원래 게시물에 코드를 추가 할 것입니다. –

+0

코드를 붙여주세요. 시도하겠습니다. –

+0

. 코드는 원래 게시물에 있습니다. SWF는 http://dl.dropbox.com/u/8639981/bugTest.swf –

관련 문제