2010-12-07 7 views
0

약간의 도움이 될 수 있습니다. 이 프로그램이 제대로 작동하려면 MVC 디자인을 사용해야한다는 사실을 알게되었습니다. 꽤 간단하지만 내 작은 장난감 프로그램은 내 양식을 표시하지 않습니다. 도움!! 아래 snipets를 참조하십시오 : 미들 릿양식이 표시되지 않습니다. . . 두!

public MileageMidlet() 
    { 

     // First get a blank user form 
     form = new Form("Bradford Gas Mileage Calculator"); 

     startPage = new StartPageView(); 
     inputScreen = new InputScreen(); 
     calculateMileage = new CalculateMileage(); 

     startCmd = new Command ("Start",Command.SCREEN,5); 
     clearCmd = new Command ("Clear",Command.SCREEN,1); 
     enterCmd = new Command ("Enter",Command.SCREEN,1); 
     exitCmd = new Command("Exit", Command.EXIT, 1); 

     // Set up event handlers to process user commands 
     form.setCommandListener(this); 
    } 


    public void startApp() { 

     startPage.createView(form);    

     form.addCommand(startCmd); 
     form.addCommand(exitCmd); 

     // Display initial form 
     Display.getDisplay(this).setCurrent(form); 
} 

시작 페이지 뷰 클래스

import javax.microedition.lcdui.*; 

public class StartPageView 
{ 

StringItem strgItm, strgItm2; 
private Command startCmd, exitCmd; 

public StartPageView() 
{ 

} 

public void createView(Form form) 
{ 
     // First get a blank user form 
     form.deleteAll(); 
     form = new Form("Bradford Gas Mileage Calculator"); 
     strgItm = new StringItem ("","Welcome to the Bradford Mobile Gas Mileage Calculator!"); 
     strgItm2 = new StringItem ("","To obtain you gas mileage please click the start button.");    
     form.append(strgItm); 
     form.append(strgItm2); 

} 

PART I는 아무것도 없어! 정말 말 그대로 블루 스크린.

답변

1

이 문제는 MIDP 또는 J2ME와 관련이 없습니다. 문제는 인수가 메소드에 전달되는 방식에 대한 의미에 있습니다.

메소드에 대한 인수가의 값으로 전달 된 임을 기억하는 것이 중요합니다. 결과는 메서드에 전달 된 개체가 해당 참조의 복사본을 전달할 때 발생합니다. 메소드에서 오브젝트 참조에 대한 변경 사항은 메소드 외부에서 영향을주지 않습니다.

자세한 내용은 this 문서를 참조하십시오. 코드에 따라서

,

form.deleteAll(); 
form = new Form("Bradford Gas Mileage Calculator"); 

코멘트 위의 두 줄. 모든 것이 잘되어야합니다.

+0

탱크 몬! 그랬어. – Mike

관련 문제