0

を実装しようとすると、次のメッセージが表示されCommandListenerます。何をする必要があるか教えてください。

Midlet は抽象的ではなく、CommandListener の抽象メソッド commandAction(Command,Displayable) をオーバーライドしません

package displaytest;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;


public class Midlet extends MIDlet  implements CommandListener {

  private Display display = null;
  private Form form;

  public void startApp() {
    form = new Form("Hello World");
    String msg = "Hello World!  DisplayTest 12";
    form.addCommand(screen);
    form.addCommand(ok);
    form.append(msg);
    display = Display.getDisplay(this);
    display.setCurrent(form);
  }

  private Command screen, ok;

  public Midlet(){
    form = new Form("Command Form");
    screen = new Command("SCREEN", Command.SCREEN, 1);
    ok = new Command("OK", Command.OK, 4);
  }

  public void pauseApp() {

  }

  public void destroyApp(boolean unconditional) {
    notifyDestroyed();
  }

  public void okCom(){
    Alert ok = new Alert("OK Command", "OK Command Executed!", null, AlertType.INFO);
    ok.setTimeout(5000);
    display.setCurrent(ok, form);  
  }

}
4

2 に答える 2

1

インターフェイスが宣言するメソッドを実装する必要がCommandListenerあります. 次のように宣言するメソッドを実装する必要があることを確認してください.

void commandAction(Command c, Displayable d){
 // your logic
} 
于 2012-12-07T22:10:39.470 に答える
1

クラスを抽象化するか、抽象メソッドをオーバーライドする必要がありますcommandAction(Command,Displayable)

于 2012-12-07T22:13:53.163 に答える