내가 프로그래밍 해요 J (2) ME 응용 프로그램 (실제로는 미들 릿) 사용할 수있는 명령 버튼보다 더 많은 명령을 화면에 표시하고, 나는이 상황에 붙어 :암시 적 메뉴 '뒤로'명령을 잡는 방법?
그래서이 상황에서 메뉴가 자동으로 생성이며, '선택'과 '뒤로'선택했다. '뒤로'선택은 메뉴를 종료하고 이전 화면으로 돌아 가기로되어 있습니다. 이것은 원칙적으로 작동합니다. 문제는 어떻게 든 그것을 잡아서 다시 그리기를 트리거해야한다는 것입니다. 그렇지 않으면 화면이 공백이됩니다.매핑 콘크리트 사용자에게 인터페이스 구성은 명령의 총 수에 따라 달라질 수 있습니다. 예를 들어 응용 프로그램에서 장치의 실제 단추 인 에 매핑 할 수있는 것보다 많은 추상 명령을 묻는 경우 장치는 메뉴와 같은 대체 휴먼 인터페이스를 사용할 수 있습니다. 예를 들어, 물리적 버튼에 매핑 할 수없는 추상 명령 은 메뉴에 배치되고 레이블 "메뉴"는 프로그래밍 가능한 버튼 중 하나에 매핑됩니다.
그래서 내 질문은 :이 '암시'(자동으로 추가 '뒤로'명령을 잡을 수있는 방법이 있나요
코드 예제 및 결과 :
public class HelloWorld extends MIDlet
{
private Form helloFrm;
private Display display;
public HelloWorld() {
Command command1 = new Command("Cmd 1", Command.SCREEN, 1);
Command command2 = new Command("Cmd 2", Command.SCREEN, 0);
Command command3 = new Command("Cmd 3", Command.SCREEN, 0);
Command command4 = new Command("Cmd 4", Command.SCREEN, 0);
helloFrm = new Form("Hello World");
helloFrm.addCommand(command1);
helloFrm.addCommand(command2);
helloFrm.addCommand(command3);
helloFrm.addCommand(command4);
}
public void startApp()
{
display = Display.getDisplay(this);
display.setCurrent(helloFrm);
}
public void pauseApp()
{
}
public void destroyApp(boolean unconditional)
{
}
}
에 편집 더 자세한 내용을 추가하십시오 :
제 의견에 따라 양식에서 캔버스로 돌아가서 제 앱에서 화면 비우기가 발생합니다. 나는 이미 자신의 'Back'명령을 추가했습니다.이 명령은 CommandListener를 쉽게 잡아서 그에 따라 처리 할 수 있으므로 제대로 작동합니다 (다시 그리기를 트리거). 하지만 이제는 두 개의 '뒤로'명령, 내재적 인 명령 (공백) 및 광산이 있습니다. 질문의 대체 버전은 다음과 같습니다. 암시 적 '뒤로'명령을 어떻게 든 추가 할 수 있습니까?
"어떻게 든 잡을 필요가 있고 다시 그리기를 트리거해야합니다. 그렇지 않으면 화면이 공백이됩니다."실제 응용 프로그램이 Form이 아닌 Canvas를 기반으로하는 것처럼 보입니다. 내가 맞습니까? –
당신은 절대적으로 옳습니다. 내 실제 응용 프로그램에서 Form을 통해 'Back'을 Canvas로 다시 보냅니다. 화면이 비어있는 경우입니다. – nofish
sizeChanged 또는 showNotify가 호출되었는지 확인 했습니까? –