2011-10-05 2 views
2

J2ME 응용 프로그램에서 작업 중입니다. 양식에 경고를 표시하고 다른 클래스의 다른 양식을 표시하려고합니다. 나는 경고를 보여주기 위해 다음과 같은 방법을 시도했다. 나는 이것이는 경고를 표시하지만 welComeForm로 이동하지 않는 실행하면경고를 표시 한 다음 j2me의 다른 양식으로 이동하십시오.

Display.getDisplay(parent).setCurrent(welcomeForm); 

:

public void showMsg() 
    { 
     Alert success = new Alert("Data Not found."); 
     //success.setImage(img2); 
     success.addCommand(new Command("Ok", Command.OK, 0)); 
     success.addCommand(new Command("Cancel", Command.CANCEL, 0)); 
     success.setCommandListener(this); 
     success.setTimeout(Alert.FOREVER); 

     Display.getDisplay(parent).setCurrent(success, chapterForm); 
    } 

는 경고를 표시 한 후 나는 같은 다른 형태로 점프하고있다. 그래서, 어떻게 경고를 보여줄 수 있고 다른 폼으로 이동할 수 있습니다.

답변

1

경고의 기본 수신기를 this으로 바꿨 기 때문에 경고가 자동으로 chapterForm으로 진행되지 않습니다. CommandListener 인터페이스에서 commandAction() 이벤트를 사용하여 Alert에서 OK 또는 Cancel을 가져옵니다. 그런 다음 Display.setCurrent(Displayable d)을 사용하여 표시 할 양식을 표시 할 수 있습니다.

1

Display.getDisplay(parent).setCurrent(welcomeForm)이 가장 큰 이유는 이 경고를 표시하지 않지만 welcom 양식으로 점프합니다. 정확하게 (장치) 알림을 잠시 표시 할 수 있지만 그 즉시 setCurrent(welcomeForm)을 호출하면 즉시 welcomeForm에 의해 덮어 쓰게됩니다.

당신이 welcomeForm이 경고의 명령에 의해 dissplayed 싶은 경우에, 다만

  1. 그것을 닦아 아웃 코드를 this.commandAction 방법에

  2. 삽입 지금 어디에서 코드 setCurrent(welcomeForm)을 닦아 (this 코드 실행에 사용하는 명령 리스너입니다.)

0

멋진 솔루션 현재 디스플레이를 Alert로 설정 한 후에 새 스레드를 시작하고이 새 스레드에서 Thread.sleep (2000); 기다리려면 새로운 양식을 표시해야합니다.

관련 문제