Lwuit中关于TextField限制输入为数字的内容代码
在Lwuit中关于TextField的标签在前面已经接触过了,确实lwuit中的标签跟javax.microedition.midlet.*包中的标签有很大的区别。
比如这个TextFiled的区别:
1.在javax.microedition.midlet.*包中定义TextFiled并限制输入为数字:
TextField numberEntry = new TextField("Connect to:",null,256,TextField.PHONENUMBER);
在构造方法中就可以限制输入类型
2.在com.sun.lwuit.TextField包中定义TextFiled并限制输入为数字:
TextField tf = new TextField(TextArea.PHONENUMBER);
随然在构造方法中也可以限制输入类型,但似乎没起到作用
下面看一下关于Lwuit中TextField限制输入为数字的内容代码:
package com.mopietek;
import java.util.Hashtable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import com.sun.lwuit.Display;
import com.sun.lwuit.Form;
import com.sun.lwuit.Label;
import com.sun.lwuit.TextArea;
import com.sun.lwuit.TextField;
import com.sun.lwuit.events.DataChangedListener;
import com.sun.lwuit.layouts.BorderLayout;
public class TextTest extends MIDlet{
TextField tf = null;
protected void destroyApp(boolean unconditional)
throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
Display.init(this);
Form f = new Form("ceshi");
f.setLayout(new BorderLayout());
tf = new TextField();
final Label label = new Label("kong");
Hashtable ht = new Hashtable();
ht.put(new Integer('0'), "0");
ht.put(new Integer('9'), "9");
ht.put(new Integer('8'), "8");
ht.put(new Integer('7'), "7");
ht.put(new Integer('6'), "6");
ht.put(new Integer('5'), "5");
ht.put(new Integer('4'), "4");
ht.put(new Integer('3'), "3");
ht.put(new Integer('2'), "2");
ht.put(new Integer('1'), "1");
ht.put(new Integer('#'), "+");
TextField.addInputMode("+123", ht, false);
tf.setConstraint(TextArea.PHONENUMBER);
//缺少这两句话就会报数组越界异常
tf.setInputMode("+123");
tf.setInputModeOrder(new String[]{"+123"});
tf.addDataChangeListener(new DataChangedListener(){
public void dataChanged(int i, int j) {
if(i == DataChangedListener.ADDED){
label.setText("ADDED");
if(tf.getText().length()>5){
tf.setText(tf.getText().substring(0,5));
}
}
if(i == DataChangedListener.CHANGED){
label.setText("CHANGED");
}
if(i == DataChangedListener.REMOVED){
label.setText("REMOVED");
}
}
});
f.addComponent(BorderLayout.NORTH,tf);
f.addComponent(BorderLayout.SOUTH,label);
f.show();
}
}
分享到:
相关推荐
Sun发布了LWUIT(Light-Weight UI Toolkit)的源代码。项目主页访问:LWUIT。 The Lightweight UI Toolkit (LWUIT) 是一个轻量级JavaME UI工具包。LWUIT类似Swing 的MVC架构, 支持多种布局(Layouts), 皮肤更换, ...
其中包含五个项目,是博客《解读 LWUIT 之五:LWUIT 控件(下)》中作者写的 Hello TabbedPane、Hello TextArea、Hello TextField、Hello Calendar、Hello Tickering 源代码。博客链接地址:...
lwuit最新源代码,包含table和tree,最新的lwuit已经支持了
LWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jarLWUIT.jar
在网上找了很久源代码,基本上都是缺胳膊少腿的,svn上1.3版的代码还处于测试阶段...官方的只通了LWUIT.jar和Demo的下载,没有源代码,我把这个LWUIT.jar反编译了一下,把反编译过后产生的错误修改好了,已经可以用了。
LWUIT哦,最新的包,学习学习。非常好用哦
lwuit 源码 下载后把此源码放在src 中即可。 然后自习写程序 调用这些 就类就可以了。 顺便赚的资源分
Sun在2008年的JavaOne会议上向开发者社区推荐了LWUIT,展示了预先发布的二进制文件库,附加工具和扩展文档,让开发者可以快速上手,现在Sun把整个源代码都开放出来,更方便开发者利用LUWIT开发JavaME应用。
博客《解读 LWUIT 之二:关于 LWUIT 开发指南中的 Hello World》中作者写的源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/02/20/5313114.aspx。
Lwuit入门程序测试一下Demo 里面需要用到LWUIT的jar包
Lwuit在blackberry上的移植版本,使用subversion签下来的,我把这个从lwuit-incubator中提取出来的,里面有DOC和源码,不过它把4.2-4.7版本放在一起了,应用的时候需要根据自己项目实际进行裁剪和修改。
把LWUIT中的List控件仿作成表格,有详细的注释,代码简单易明。
截至 20100210,官方公布的最新 LWUIT 源代码。
sun.COM 开发的LWUIT ui 工具包 1.4版本 SVN-1184 同步保持更新,敬请关注
本源码是博客《解读 LWUIT 之十:画笔(Painters)》中作者写的 Hello Painter 源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/03/03/5341204.aspx。
如果在使用LWUIT项目中出现错误信息,在错误项目之前加上"super." 在APPLICATION中有范例代码,有价值的是演示了1.4版本中新增的HTMLCOMPONENT控件的使用方法. 实际项目中将LWUIT目录中的拷贝到自己J2ME项目即可。
lwuit源代码,是sun 公司为J2ME开发的一套UI,是一套经典的设计,为大型J2ME客户端的开发提供了很好的工具
博客《解读 LWUIT 之三:LWUIT 控件(上)》中作者写的 HelloLabel 源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/02/21/5315113.aspx。
博客《解读 LWUIT 之三:LWUIT 控件(上)》中作者写的 HelloButton 源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/02/21/5315113.aspx。
博客《解读 LWUIT 之三:LWUIT 控件(上)》中作者写的 HelloForm 源代码。博客链接地址:http://blog.csdn.net/defonds/archive/2010/02/21/5315113.aspx。