| |
ticker在screen类中被定义为一个域(field),它可以被连接到任何screen类的子集中。在下面的例子中,我们将展示如何将ticker连接到列表(list)和alert对象中。 注意:以下例子基于midp和cldc 1.0.3 源代码: /*-------------------------------------------------- * tickerexample.java *-------------------------------------------------*/ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class tickerexample extends midlet implements commandlistener { private display display; // 对显示对象的引用reference to display object private list lsproducts; // 主产品列表 private alert alhelp; // 显现文字和图像的警告板 private ticker tksale; // 对现在销售的提示 private command cmexit; // 退出命令 public tickerexample() { display = display.getdisplay(this); cmexit = new command("exit", command.screen, 1); tksale = new ticker("current sale: bob's pretty good laptop only $529.00"); lsproducts = new list("products", choice.implicit); lsproducts.append("laptop", null); lsproducts.append("printer", null); lsproducts.append("help", null); lsproducts.addcommand(cmexit); lsproducts.setcommandlistener(this); lsproducts.setticker(tksale); } public void startapp() { display.setcurrent(lsproducts); } public void pauseapp() { } public void destroyapp(boolean unconditional) { } public void showalert() { try { // create an image image im = image.createimage("/help.png"); // create alert, add text and image, no sound alhelp = new alert("help information", "bob's pretty good products...so much to choose from!", im, null); alhelp.settimeout(alert.forever); alhelp.setticker(tksale); } catch(exception e) { system.out.println("unable to read png image."); } // display the alert. once dismissed, return to product list display.setcurrent(alhelp, lsproducts); } public void commandaction(command c, displayable s) { if (c == list.select_command) { switch (lsproducts.getselectedindex()) { case 0: system.out.println("laptop selected"); break; case 1: system.out.println("printer selected"); break; case 2: showalert(); break; } } else if (c == cmexit) { destroyapp(true); notifydestroyed(); } } }
|
|