发布一篇MIDP初级UI的利用(三)TextBox
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:当我们必要再挪动设备上输出数据时,TextBox就派上用处了,我们利用的TextBox机关函数参数共有四个,TextBoxtextbox=newTextBox(stringtitle,stringcontent,stringmaxLength,stringlimitType),第一个是题目,第二个是TextBox的初始内容,第三个是同意输出字符的最年夜长度,第四个是限定内型。值得注重的是:一个TextBox必需附加一个命令,不然用户将不克不及引发任何举动,而堕入这个TextBox中。
上面是一个罕见的TextBox的例子。
view plainprint?
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.thinkrace.TextBox;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.ChoiceGroup;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextBox;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.*;
/**
* @author pengjw
*/
public class TextBoxDemo extends MIDlet implements CommandListener{
private Display display;
private ChoiceGroup types;
private ChoiceGroup options;
private Form mainForm;
private static final Command CMD_EXIT = new Command("Exit", Command.EXIT, 1);
private static final Command CMD_BACK = new Command("Back", Command.BACK, 1);
private static final Command CMD_SHOW = new Command("Show", Command.SCREEN ,1);
private static final String[] textBoxLabels ={
"Any Character", "Email", "Number", "Decimal", "Phone", "URL"
};
private static final int[] textBoxTypes ={
TextField.ANY, TextField.EMAILADDR, TextField.NUMERIC,
TextField.DECIMAL, TextField.PHONENUMBER, TextField.URL
};
//firstTime用来判别TextBoxDemo是不是被实例化
private boolean firstTime;
public TextBoxDemo(){
/**
* 来自文档的申明
* Display represents the manager of the display and input devices of the system.
* It includes methods for retrieving properties of the device and for requesting that objects be displayed on the device.
* There is exactly one instance of Display per MIDlet and the application can get
* a reference to that instance by calling the getDisplay() method.
*/
display = Display.getDisplay(this);
firstTime = true;
}
public void startApp() {
if(firstTime){
mainForm = new Form("Select a Text Box Type");
mainForm.append("select a textbox type");
types = new ChoiceGroup("Choice Type", Choice.EXCLUSIVE, textBoxLabels, null);
mainForm.append(types);
String[] optionStrings = {"As Password", "Show Ticker"};
options = new ChoiceGroup("Options", Choice.MULTIPLE, optionStrings, null);
mainForm.append(options);
mainForm.addCommand(CMD_EXIT);
mainForm.addCommand(CMD_SHOW);
mainForm.setCommandListener(this);
firstTime = false;
}
//设置以后显现的窗体
display.setCurrent(mainForm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
/**
* 完成CommandListener接口的笼统办法
* 依据分歧的Command做分歧的事变
*/
public void commandAction(Command c, Displayable d) {
if(c == CMD_EXIT){
destroyApp(false);
notifyDestroyed();
}
else if(c == CMD_SHOW){
int Index = types.getSelectedIndex();
String title = textBoxLabels;
int choiceType = textBoxTypes;
boolean[] flags = new boolean;
/**
* 来自文档的申明,这个办法能够给一个bool数组赋值
* Query the state of a choicegroup and renturns the state of all elements in the boolean array.
*/
options.getSelectedFlags(flags);
if(flags){
choiceType = TextField.PASSWORD;
}
TextBox textBox = new TextBox(title,"",50,choiceType);
if(flags){
textBox.setTicker(new Ticker("TextBox:" + title));
}
textBox.addCommand(CMD_BACK);
textBox.setCommandListener(this);
display.setCurrent(textBox);
}
else if(c == CMD_BACK){
display.setCurrent(mainForm);
}
}
}
<p>
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 是一种突破用户端机器环境和CPU 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 Java是一种计算机编程语言,拥有跨平台、面向对java 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
页:
[1]