站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题在组件(components)之间共享Ticker

在组件(components)之间共享Ticker

摘要: 在组件(components)之间共享Ticker
内容: 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();
}
}
}



模拟器显示:
IMG http://www.corej2me.com/DeveloperResources/sourcecode/highlevel_UI/ticker/screen.gif[/IMG]

源代码下载:

下载
点击参与本文章相关讨论

关于翻译作者:
bruceyuki,JAVA C#技术爱好者,现就读于新西兰奥克兰大学,正参与大学的一个AI项目,可以点击http://www.matrix.org.cn/user_view.asp?username=bruceyuki查看他的个人信息

↑返回目录
前一篇: Canvas及其支持的按键事件测试小例
后一篇: 为TextBox组件创建简单的剪贴板(Matrix-corej2me系列)