2010-12-07 41 views
0

我可以使用一點幫助。我得到這個程序正常工作,然後我發現我不得不使用MVC設計。這看起來很簡單,但我的小玩具程序不會顯示我的表格。幫幫我!!請參見下面的snipets:MIDLET表單不會顯示。 。 。 DOOH!

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); 
} 

START PAGE視圖類

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我什麼都沒有!真的是一個藍色的屏幕。

}

回答

1

該問題與MIDP或J2ME無關。問題是參數如何傳遞給方法的語義。

重要的是要記住方法的參數是在Java中通過值。結果是當傳遞給方法的對象傳遞了該引用的副本時。對方法中對象的引用所做的任何更改都不會對其產生任何影響。

請參閱this文章以獲取更多信息。

在你的代碼

所以,

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

評論上述兩行。一切都應該沒問題。

+0

坦克星期一!那樣做了。 – Mike 2010-12-21 00:40:18