MIDletProps.java Source code

Java tutorial

Introduction

Here is the source code for MIDletProps.java

Source

/*
 * @(#)MIDletProps.java 1.0 00/07/18
 * Copyright (c) 1999,2000 Sun Microsystems, Inc. All Rights Reserved.
 *
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered into
 * with Sun.
 *
 * SUN MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
 * SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
 * PURPOSE, OR NON-INFRINGEMENT. SUN SHALL NOT BE LIABLE FOR ANY DAMAGES
 * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
 * THIS SOFTWARE OR ITS DERIVATIVES.
 */

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

/**
 * A MIDlet shows the values of the system properties.
 */
public class MIDletProps extends MIDlet implements CommandListener {

    private Display display; // The display for this MIDlet
    private Form props;
    private StringBuffer propbuf;
    private Command exitCommand = new Command("Exit", Command.SCREEN, 1);

    /**
    * Construct MIDletProps
    */
    public MIDletProps() {
        display = Display.getDisplay(this);
    }

    /**
     * Show the value of the properties
     */
    public void startApp() {
        Runtime runtime = Runtime.getRuntime();
        runtime.gc();
        long free = runtime.freeMemory();
        long total = runtime.totalMemory();

        propbuf = new StringBuffer(50);
        props = new Form("System Properties");

        props.append("Free Memory = " + free + "\n");
        props.append("Total Memory = " + total + "\n");

        props.append(showProp("microedition.configuration"));
        props.append(showProp("microedition.platform"));
        props.append(showProp("microedition.locale"));
        props.append(showProp("microedition.encoding"));
        props.append(showProp("microedition.encodingClass"));
        props.append(showProp("microedition.http_proxy"));

        props.addCommand(exitCommand);
        props.setCommandListener(this);

        display.setCurrent(props);

    }

    /**
    * Eventhandling code goes into commandAction
    */
    public void commandAction(Command c, Displayable s) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
    }

    /**
     * Show a property.
     */
    String showProp(String prop) {
        String value = System.getProperty(prop);
        propbuf.setLength(0);
        propbuf.append(prop);
        propbuf.append(" = ");
        if (value == null) {
            propbuf.append("<undefined>");
        } else {
            propbuf.append("\"");
            propbuf.append(value);
            propbuf.append("\"");
        }
        propbuf.append("\n");
        return propbuf.toString();
    }

    /**
     * Time to pause, free any space we don't need right now.
     */
    public void pauseApp() {
        display.setCurrent(null);
        propbuf = null;
        props = null;
    }

    /**
     * No op
     */
    public void destroyApp(boolean unconditional) {
        System.out.println("In destroyApp");

    }

}