2016-01-06 67 views
0

有人可以告訴我,我不能建立此代碼? Gauge有問題,但我不明白我需要改變什麼或什麼。MIDlet定時器J2ME無線工具包2.5.2_0.1 CLDC

當我嘗試Bulid時,它顯示錯誤。

Building "Alert01" 
 
warning: [options] source value 1.3 is obsolete and will be removed in a future release 
 
warning: [options] target value 1.3 is obsolete and will be removed in a future release 
 
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options. 
 
C:\Users\Benita\j2mewtk\2.5.2\apps\Alert01\src\Alert01.java:112: error: cannot find symbol 
 
     alert.setIndicator(gauge); 
 
      ^
 
    symbol: method setIndicator(Gauge) 
 
    location: variable alert of type Alert 
 
1 error 
 
3 warnings 
 
com.sun.kvem.ktools.ExecutionException 
 
Build failed

BULDING此代碼

package Alert01; 
 

 
import javax.microedition.lcdui.Display; 
 
import javax.microedition.lcdui.Alert; 
 
import javax.microedition.lcdui.AlertType; 
 
import javax.microedition.lcdui.Image; 
 
import javax.microedition.lcdui.TextBox; 
 
import javax.microedition.lcdui.TextField; 
 
import javax.microedition.midlet.MIDlet; 
 
import java.util.Timer; 
 
import java.util.TimerTask; 
 
import java.util.Date; 
 
import javax.microedition.lcdui.Gauge; 
 

 
public class Alert01 extends MIDlet{ 
 

 
    Alert01 theMidlet; 
 
    Image image; 
 
    int count = 0; 
 
    long baseTime; 
 

 
    public Alert01(){ 
 
    System.out.println("Construct MIDlet"); 
 
    theMidlet = this; 
 
    baseTime = new Date().getTime()/1000; 
 
    }//end constructor 
 
    //----------------------------------------------------// 
 

 
    public void startApp(){ 
 
    System.out.println("Create and display a TextBox"); 
 

 
    TextBox textBox = new TextBox("TextBox Title", 
 
            "TextBox contents", 
 
            50,//width 
 
            TextField.ANY); 
 

 
    //Make the TextBox the current Displayable object. 
 
    Display.getDisplay(this).setCurrent(textBox); 
 

 
    //Now create and schedule a TimerTask that will 
 
    // display and sound an alert repeatedly. The Alert 
 
    // first appears at two seconds and repeats every 
 
    // three seconds. 
 
    Timer myTimer = new Timer(); 
 
    myTimer.schedule(new MyTimerTask(),2000,3000); 
 

 
    //Sleep for 20 seconds. 
 
    try{Thread.currentThread().sleep(20000); 
 
    } catch(Exception e){} 
 

 
    //Cancel the timer. 
 
    myTimer.cancel(); 
 

 
    //Enter the destroyed state. 
 
    this.destroyApp(true); 
 
    }//end startApp 
 

 
    public void pauseApp(){ 
 
    }//end pauseApp 
 

 
    public void destroyApp(boolean unconditional){ 
 
    System.out.println("Destroy MIDlet"); 
 
    notifyDestroyed(); 
 
    }//end destroyApp 
 
    //----------------------------------------------------// 
 

 
    //This is a member class 
 
    class MyTimerTask extends TimerTask{ 
 
    long time; 
 

 
    public void run(){ 
 
     System.out.println("Display an Alert"); 
 

 
     try{ 
 
     //Select among two image files on the basis of 
 
     // whether the current time in seconds is odd 
 
     // or even. 
 
     time = new Date().getTime()/1000 - baseTime; 
 

 
     //Note that the following file names are case 
 
     // sensitive. 
 
     if((time % 2) == 0){//Even value 
 
      image = Image.createImage(
 
            "/Alert01/redball.PNG"); 
 
     }else{//Odd value 
 
      image = Image.createImage(
 
           "/Alert01/blueball.PNG"); 
 
     }//end else 
 

 

 
     //Create an Alert object of type ALARM. This 
 
     // results in an audible alarm that sounds like a 
 
     // telephone ringing. 
 
     Alert alert = new Alert("Alert Title", 
 
           "", 
 
           image, 
 
           AlertType.ALARM); 
 

 
     //Cause the alert to display the time in seconds. 
 
     alert.setString("Time in seconds:" + time); 
 

 
     //Cause the alert to be visible for two seconds. 
 
     alert.setTimeout(2000); 
 

 
     //Create a Gauge that shows six bars. 
 
     Gauge gauge = new Gauge(null,false,6,0); 
 

 
     //Set the number of Gauge bars to be illuminated. 
 
     gauge.setValue(++count); 
 

 
     //Attach the Gauge to the alert. 
 
     alert.setIndicator(gauge); 
 

 
     //Make the Alert the current Displayable object. 
 
     Display.getDisplay(theMidlet).setCurrent(alert); 
 
     }catch(Exception e){ 
 
     e.printStackTrace(); 
 
     }//end catch 
 
    }//end run 
 
    }//end class MyTimerTask 
 
    //====================================================// 
 
}//end class Alert01 
 
//======================================================//

回答

0

setIndicator方法可以用MIDP 2.0。您可能正在編譯MIDP 1.0。

相關問題