1

2 つの数字を追加する単純な Nokia s40 アプリを作成しようとしています (練習用)。コードにエラーが見つからなかったので、助けてください。

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class main extends MIDlet  {

    Display disp;
    Form start;
    TextField a, b;
    StringItem sum;

    main(){
        disp = Display.getDisplay(this);
    }
    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        // TODO Auto-generated method stub

    }

    protected void pauseApp() {
        // TODO Auto-g enerated method stub

    }

    protected void startApp() throws MIDletStateChangeException {
        // TODO Auto-generated method stub
        start = new Form("Start");
        a = new TextField("A", "Enter A", 40, TextField.NUMERIC);
        b = new TextField("B", "Enter B", 4, TextField.NUMERIC);
        sum = new StringItem("Sum", "hello");

        start.append(a);
        start.append(b);
        start.append(sum);

        disp.setCurrent(start);
    }

}

ただし、これらの2行をコメントアウトすると、コードが機能し始めますが、何も表示されません。助けてください。

a = new TextField("A", "Enter A", 40, TextField.NUMERIC);
b = new TextField("B", "Enter B", 4, TextField.NUMERIC);
start.append(a);
start.append(b);
4

1 に答える 1

3

最初のコンテンツ文字列 ("Enter A") が制約 (NUMERIC) を尊重しないため、コードは IllegalArgumentException をスローします。以下を使用する必要があります。

a = new TextField("Enter A", "0", 40, TextField.NUMERIC);
b = new TextField("Enter B", "0", 4, TextField.NUMERIC);
于 2013-07-04T14:35:34.107 に答える