⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 user interface-stockwatcher.java

📁 RMS移动商务应用开发
💻 JAVA
字号:
/* License *  * Copyright 1994-2004 Sun Microsystems, Inc. All Rights Reserved. *  * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: *   *  * Redistribution of source code must retain the above copyright notice, *      this list of conditions and the following disclaimer. *  *  * Redistribution in binary form must reproduce the above copyright notice, *      this list of conditions and the following disclaimer in the *      documentation and/or other materials provided with the distribution. *  * Neither the name of Sun Microsystems, Inc. or the names of contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. *   * This software is provided "AS IS," without a warranty of any kind. ALL * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MICROSYSTEMS, INC. ("SUN") * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. *   * You acknowledge that this software is not designed, licensed or intended * for use in the design, construction, operation or maintenance of any * nuclear facility.  */import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import java.util.*;public class StockWatcher extends MIDlet {  Display      display;  Ticker       ticker = new Ticker( "" );  Command      exitCommand = new Command(                                              "Exit", Command.EXIT, 1 );  Timer        timer = new Timer();  StockChecker checker = new StockChecker();  TickerForm   form = new TickerForm();  Alert        alert = new Alert( "Stock Alert!" );  public StockWatcher() {    display = Display.getDisplay( this );    alert.setTimeout( Alert.FOREVER );  }  protected void destroyApp( boolean unconditional ) { }  protected void startApp() {    display.setCurrent( form );    timer.schedule( checker, 0, 30000 );  }  protected void pauseApp() { }  public void exit(){    timer.cancel();    destroyApp( true );    notifyDestroyed();  }  // Display a simple form to hold the ticker  class TickerForm extends Form implements CommandListener {    public TickerForm(){      super( "Stock Watch" );      setTicker( ticker );      addCommand( exitCommand );      setCommandListener( this );    }    public void commandAction( Command c, Displayable d ){      exit();    } }                     // Check the stock values and put up an alert if // they're beyond certain limits.... class StockChecker extends TimerTask {   Random       generator = new Random();   int          sybsValue = 20000;   int          sunwValue = 30000;   int          ibmValue = 40000;   StringBuffer buf = new StringBuffer();   public void run(){     String values = getStockValues();     ticker.setString( values );     if( sybsValue < 18000 || sybsValue > 22000 ||       		sunwValue < 28000 || sunwValue > 32000 ||       		ibmValue < 38000 || ibmValue > 42000 ){       alert.setString( values );     }     if( !alert.isShown() ){       display.setCurrent( alert, form );     }   }   private String getStockValues(){     sybsValue = randomStockValue( sybsValue );     sunwValue = randomStockValue( sunwValue );     ibmValue = randomStockValue( ibmValue );     buf.setLength( 0 );     appendValue( "SYBS", sybsValue );     appendValue( "SUNW", sunwValue );     appendValue( "IBM", ibmValue );     return buf.toString();   }   // Generate a random stock value... in the   // real world you'd use HTTP to obtain the   // stock value from a broker's website.   private int randomStockValue( int oldVal ){     int incr1 = ( generator.nextInt() % 2 );     int incr2 = ( generator.nextInt() % 16 );     if( incr1 < 1 ){       oldVal -= incr1 * 1000;     } else {       oldVal += ( incr1 - 2 ) * 1000;     }     if( incr2 < 8 ){       oldVal -= incr2 * 250;     } else {       oldVal += incr2 * 250;     }     return oldVal;   }   private void appendValue( String stock, int val ){     buf.append( stock );     buf.append( ' ' );     buf.append( Integer.toString( val / 1000 ) );     buf.append( '.' );     buf.append( Integer.toString( val % 1000 ) );     buf.append( ' ' );   } }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -