Java/J2ME/System Properties

Материал из Java эксперт
Перейти к: навигация, поиск

Shows the values of the system properties

   <source lang="java">

/*

* @(#)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" );
   }

}


      </source>