程式語言 - Java - J2ME - Show Display Info



main.java

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class main extends MIDlet implements CommandListener {
    private Display disp;
    private Command exit;

    protected void startApp() {
        disp = Display.getDisplay(this);
        Canvas canvas = new DummyCanvas();
        Form form = new Form("Device Info");
        exit = new Command("Exit", Command.EXIT, 0);
        form.addCommand(exit);

        boolean isColor = disp.isColor();
        form.append(isColor ? "Color Display" : "Gray Display ");
        form.append("Colors = ".concat(String.valueOf(disp.numColors())));
        form.append("Width = ".concat(String.valueOf(canvas.getWidth())));
        form.append("Height = ".concat(String.valueOf(canvas.getHeight())));
        form.append("Pointer = ".concat(String.valueOf(canvas.hasPointerEvents())));
        form.append("Motion = ".concat(String.valueOf(canvas.hasPointerMotionEvents())));
        form.append("Key Repeat = ".concat(String.valueOf(canvas.hasRepeatEvents())));
        form.append("Double Bufferer = ".concat(String.valueOf(canvas.isDoubleBuffered())));
        form.setCommandListener(this);
        disp.setCurrent(form);
    }

    protected void pauseApp() {
    }

    protected void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {
        if (c == exit) {
            notifyDestroyed( );
        }
    }
}

DummyCanvas.java

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class DummyCanvas extends Canvas {
    protected void paint(Graphics g) {
    }
}

manifest.mf

MIDlet-1: main, , main
MIDlet-Name: main
MIDlet-Version: 1.0
MIDlet-Vendor: You
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1

編譯、執行

$ javac -classpath midpapi20-2.0.4.jar DummyCanvas.java main.java
$ jar cfm main.jar manifest.mf DummyCanvas.class main.class
$ java -cp microemulator-swing-2.0.4.jar:microemulator-2.0.4.jar:midpapi20-2.0.4.jar org.microemu.app.Main main.jar