ticker对象
ticker对象是一个项目类型的对象,它的作用相当于一个滚动消息栏,在屏幕的上方显示滚动的信息。 ticker类的构造函数仅有一个参数,那就是需要滚动显示的消息。
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class showticker extends midlet implements commandlistener
{
private display display;
private form props;
private command exitcommand = new command("exit", command.exit, 1);
public showticker()
{
display = display.getdisplay(this);
}
public void startapp()
{
props = new form("hello world");
props.append("hello world!/n");
ticker ticker=new ticker("ð¡â¥ò»ò¹
;ìý´ºóê");
props.setticker(ticker);
props.addcommand(exitcommand);
props.setcommandlistener(this);
display.setcurrent(props);
}
public void commandaction(command c, displayable s)
{
if (c == exitcommand)
{
destroyapp(false);
notifydestroyed();
}
}
public void destroyapp(boolean unconditional)
{
}
public void pauseapp()
{
display.setcurrent(null);
props = null;
}
}
showticker.java程序的运行效果如下图所示:
获取文本框的值
发信站: 北大未名站 (2001年10月21日00:34:19 星期天) , 站内信件
在前面的例子中,我们已经演示了如何构造j2me程序的用户界面。现在有一个问题,那就是如何与用户界面交互呢?亦即如何获取用户通过用户界面输入的值呢?请看下面的例子。
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class gettextboxvalue extends midlet implements commandlistener
{
private display display;
private textbox txtbox;
private command exitcommand = new command("exit", command.exit, 1);
private command getcommand = new command("getvalue", command.ok, 1);
public gettextboxvalue()
{
display = display.getdisplay(this);
}
public void startapp()
{
//or :
//string str="hello world";
//txtbox = new textbox("text box",str,str.length(),0);
//the follow code is wrong:
//txtbox = new textbox("text box",str,any number here,0);
txtbox = new textbox("text box",null,200,0);
txtbox.addcommand(exitcommand);
txtbox.addcommand(getcommand);
txtbox.setcommandlistener(this);
display.setcurrent(txtbox);
}
public void valuescreen()
{
form props=new form("get text box value");
props.append(txtbox.getstring());
props.addcommand(exitcommand);
props.setcommandlistener(this);
display.setcurrent(props);
}
public void commandaction(command c, displayable s)
{
if (c == exitcommand)
{
destroyapp(false);
notifydestroyed();
}
if(c==getcommand)
{
valuescreen();
}
}
public void destroyapp(boolean unconditional)
{
}
public void pauseapp()
{
display.setcurrent(null);
txtbox = null;
}
}
在上面的例子中(gettextboxvalue.java),当我们往文本框中输入文本,并按下退出按钮,接着选择getvalue命令的时候,将会调用valuescreen()方法。valuescreen()方法的源代码如下
:
public void valuescreen()
{
form props=new form("get text box value");
props.append(txtbox.getstring());
props.addcommand(exitcommand);
props.setcommandlistener(this);
display.setcurrent(props);
}
valuescreen()方法的逻辑是:首先创建一个容器对象form,然后调用textbox对象的getstring()方法,获取文本框中的输入值,追加到容器对象中,最后将此form对象作为屏幕的当前显示对象。gettextboxvalue.java的运行效果如下面两图所示:
date对象
发信站: 北大未名站 (2001年10月21日00:35:20 星期天) , 站内信件
date对象是属于java.util包的,它的作用是返回当前的时间。请看下面的代码:
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
public class getdate extends midlet implements commandlistener
{
private display display;
private form props;
private date date;
private command exitcommand = new command("exit", command.exit, 1);
public getdate()
{
display = display.getdisplay(this);
}
public void startapp()
{
props = new form("hello world");
props.append("hello world!/n");
date=new date();
props.append("now time:"+date.gettime()+"/n");
props.addcommand(exitcommand);
props.setcommandlistener(this);
display.setcurrent(props);
}
public void commandaction(command c, displayable s)
{
if (c == exitcommand)
{
destroyapp(false);
notifydestroyed();
}
}
public void destroyapp(boolean unconditional)
{
}
public void pauseapp()
{
display.setcurrent(null);
props = null;
}
}
getdate.java程序的运行效果如下图所示:
--
timezone对象
发信站: 北大未名站 (2001年10月21日00:36:16 星期天) , 站内信件
timezone对象也是属于java.util包的。这个对象的作用是提供关于时区的信息。timezon
e类有一个静态方法----getdefault(),可以获取与当前系统相关的时区对象。getavailable
ids()方法可以获取系统中所有可用的时区的id号,getid()方法可以获取系统当前所设置的时区。具体的例子如下所示:
package fancy.test;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
public class gettimezone extends midlet implements commandlistener
{
private display display;
private form props;
//private date date;
private timezone zone;
private command exitcommand = new command("exit", command.exit, 1);
public gettimezone()
{
display = display.getdisplay(this);
}
public void startapp()
{
props = new form("hello world");
props.append("hello world!/n");
//date=new date();
//props.append("now time:"+date.gettime()+"/n");
zone=timezone.getdefault();
string []zoneid=zone.getavailableids();
for(int i=0;i
props.append(zoneid[i]+"/n");
}
props.append("current time zone:"+zone.getid()+"/n");
props.addcommand(exitcommand);
props.setcommandlistener(this);
display.setcurrent(props);
}
public void commandaction(command c, displayable s)
{
if (c == exitcommand)
{
destroyapp(false);
notifydestroyed();
}
}
public void destroyapp(boolean unconditional)
{
}
public void pauseapp()
{
display.setcurrent(null);
props = null;
}
}
gettimezone.java程序的运行效果如下图所示:
--
calendar对象
发信站: 北大未名站 (2001年10月21日00:37:43 星期天) , 站内信件
calendar对象归属于java.util包,它可以提供更为详尽的时间信息。具体的例子如下所示
闽公网安备 35060202000074号