사용자 지정 단추 구성 요소를 만들고 keyDownHandler를 재정의해야 할 것입니다. 그러나 중지 할 버튼을 선택하려면 코드에 조건을 추가해야합니다. 이것은 어떻게 보일지입니다 :
package Sandbox
{
import mx.controls.Button;
import flash.events.KeyboardEvent;
public class KeyButton extends Button
{
public function KeyButton()
{
super();
}
protected override function keyDownHandler(e : KeyboardEvent) : void {
if (e.keyCode == 32) { // Spacebar
return;
}
else if (e.keyCode == 67) { // Letter C
this.parentApplication.setStyle ("backgroundColor", "#00aa00");
}
super.keyDownHandler (e);
}
}
}
이의 장점은 입력과 같은 다른 키는 여전히 작동, 또는 말, 당신의 색상을 변경하고 싶었 경우 다른 키에 대한 더 많은 조건문을 추가 할 수 있다는 것입니다 버튼을 누르거나 C 버튼을 누르면됩니다.
우리가 여기있는 동안에는 KeyboardEvent.keyCode와 charCode 사이에 차이가 있습니다. keyCode는 실제 키보드의 키 ID입니다. 즉 소문자 c와 대문자 C는 동일합니다 (keyCode == 67). 반면에 charCode는 ASCII 테이블의 문자 주소이므로 c와 C는 다릅니다 (C는 67이고 c는 99 임). keyCode는 대소 문자를 구별합니다.
아, 네. Backspace와 같은 임의의 키를 포함하여 키의 키 및 문자 코드를 확인해야 할 경우 Adobe에서 만든 좋은 사람들 page을 확인하십시오.
나는 이것을 설명하기 위해 application도 만들었습니다. 표준 Flex Builder 프로젝트이지만 소스가 없으면 src 폴더에 있습니다. 응용 프로그램을 실행하고 버튼을 클릭하여 초점을 맞 춥니 다. 버튼의 클릭 이벤트에 따라 버튼 위에 일부 텍스트가 표시되어야합니다. 포커스가있는 동안 스페이스 바를 누르면 클릭 이벤트가 발생하고 더 많은 텍스트를 인쇄해야하지만 아무 일도 일어나지 않습니다! 이제 c 키를 눌러 응용 프로그램의 배경색을 변경하십시오. 알았지?
소스 here을 찾을 수 있습니다.