package pak; import javax.microedition.midlet.*; import javax.microedition.lcdui.game.GameCanvas; import javax.microedition.lcdui.*; public class MyMidlet extends MIDlet implements CommandListener{ public String ip; public String port; private Command exitCommand; private Command connectCommand; public Form form; private Displayable current; private Display display; MyCanvas myCanvas = new MyCanvas(this); public void startApp() { display=Display.getDisplay(this); if (current!=null) display.setCurrent(current); else{ display.setCurrent(getForm()); current=form; } } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public Display getDisplay () { return Display.getDisplay(this); } public Form getForm(){ form = new Form("My Form"); form.addCommand(getExitCommand()); form.addCommand(getConnectCommand()); form.setCommandListener(this); return form; } public Command getExitCommand() { if (exitCommand == null) { exitCommand = new Command("Exit", Command.EXIT, 0); } return exitCommand; } public Command getConnectCommand() { if (connectCommand == null) { connectCommand = new Command("Connect", Command.ITEM, 0); } return connectCommand; } public void commandAction(Command c, Displayable d) { if (d == form) { if (c == exitCommand) { exitMIDlet() ; } else{ if(c == connectCommand){ myCanvas.addCommand(getExitCommand()); myCanvas.setCommandListener(this); myCanvas.start(); getDisplay().setCurrent(myCanvas); } } } } public void exitMIDlet() { switchDisplayable (null, null); destroyApp(true); notifyDestroyed(); } public void switchDisplayable(Alert alert, Displayable nextDisplayable) { Display displa = getDisplay(); if (alert == null) { displa.setCurrent(nextDisplayable); } else { displa.setCurrent(alert, nextDisplayable); } } class MyCanvas extends GameCanvas implements Runnable { MyMidlet midlet; private boolean isRunning = true; private Graphics g; public MyCanvas(MyMidlet midlet){ super(true); this.midlet = midlet; } public void start(){ Thread runner = new Thread(this); runner.start(); } public void run(){ g = getGraphics(); flushGraphics(); while (isRunning) { try{ Thread.sleep(30); } catch(Exception ex){} }//while is running } } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)