我可以用一点帮助。我让这个程序正常工作然后我发现我必须使用MVC设计。看起来很简单但是,我的小玩具程序不会显示我的表格。救命!!请参阅下面的snipets:
MIDLET的一部分
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 VIEW CLASS
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);
}
我一无所获!真的是蓝屏。
}
答案 0 :(得分:1)
该问题与MIDP或J2ME无关。问题在于如何将参数传递给方法的语义。
重要的是要记住方法的参数是 通过Java中的值传递 。结果是,当传递给方法的对象时,传递该引用的副本。对方法中对象引用的任何更改都不会对其产生任何影响。
有关详细信息,请参阅this文章。
所以在你的代码中,
form.deleteAll();
form = new Form("Bradford Gas Mileage Calculator");
评论以上两行。一切都应该没问题。