📄 msgform.java
字号:
package vitular.msnclient;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextField;
import vitular.ui.MsgDB;
import vitular.ui.Util;
public class MsgForm extends Form {
public static final byte T_LOGIN = 1;
public static final byte T_ASKNAME = 2;
public static final byte ITEM_LOGINNAME = 1;
public static final byte ITEM_PASSWORD = 2;
public static final byte ITEM_ASKNAME = 3;
private byte formType;
private TextField loginnameField, passwordField, friendnameField;
private MsgDB formDB;
private boolean bSave = true;
private Command leftCmd, rightCmd;//左边显示的命令和右边显示的命令
/**
* 结构函数
* @param title String form的名字
* @param type byte form的类型
*/
public MsgForm(String title, byte type) {
super(title);
System.out.println("MsgForm() begin");
formType = -1;
formDB = new MsgDB("owner");
formDB.open();
System.out.println(formDB.getMsgCount());
//this.addCommand(new Command("确定", Command.ITEM, 1));
//this.addCommand(new Command("取消", Command.ITEM, 1));
loginnameField = new TextField("用户名", null, 50, TextField.ANY);
passwordField = new TextField("密 码", null, 50, TextField.ANY | TextField.PASSWORD);
friendnameField = new TextField("账号", null, 50, TextField.ANY);
changeFormType(type);
//this.append(loginnameField);
//this.setCommandListener(this);
System.out.println("MsgForm() end");
}
/**
* 修改form的类型
* @param type byte
*/
public void changeFormType(byte type){
if (type != formType){
this.deleteAll();
switch(type){
case T_LOGIN:
formDB.open();
String ss = loginnameField.getString();
int a = formDB.getMsgCount();
if (msnMIDlet.instance.username!=null && msnMIDlet.instance.password!= null){
loginnameField.setString(msnMIDlet.instance.username);
passwordField.setString(msnMIDlet.instance.password);
}else if ((loginnameField.getString()== null || loginnameField.getString().equals(""))
&& formDB.getMsgCount() > 0){
String s = formDB.getMsg(0);
System.out.println("s="+s);
loginnameField.setString(Util.getSubString(s, '$', 0));
passwordField.setString(Util.getSubString(s, '$', 1));
}
this.append(loginnameField);
this.append(passwordField);
break;
case T_ASKNAME:
this.append(friendnameField);
friendnameField.setString("@hotmail.com");
break;
}
formType = type;
}
}
/**
* 设置指定item的值
* @param itemType byte item的类型
* @param str String
*/
public void setItemString(byte itemType, String str){
switch(itemType){
case ITEM_LOGINNAME:
loginnameField.setString(str);
break;
case ITEM_PASSWORD:
passwordField.setString(str);
break;
case ITEM_ASKNAME:
friendnameField.setString(str);
break;
}
}
/**
* 取得指定item的值
* @param itemType byte
* @return String
*/
public String getItemString(byte itemType){
String s = null;
switch(itemType){
case ITEM_LOGINNAME:
s = loginnameField.getString();
break;
case ITEM_PASSWORD:
s = passwordField.getString();
break;
case ITEM_ASKNAME:
s = friendnameField.getString();
break;
}
if (s!=null && !s.equals(""))
return s;
else
return null;
}
public void saveResult(boolean save){
this.bSave = save;
}
public void setCommand(String leftStr, String rightStr){
if (leftCmd != null)
this.removeCommand(leftCmd);
if (rightCmd != null)
this.removeCommand(rightCmd);
if (leftStr!=null){
leftCmd = new Command(leftStr, Command.ITEM, 1);
}else{
leftCmd = new Command("", Command.ITEM, 1);
}
if (rightStr!=null){
rightCmd = new Command(rightStr, Command.ITEM, 1);
}else{
rightCmd = new Command("", Command.ITEM, 1);
}
this.addCommand(leftCmd);
this.addCommand(rightCmd);
}
/**
* 保存用户名
*/
public boolean saveUsername(){
if (!loginnameField.getString().equals("")
&& !passwordField.getString().equals("")){
try{
formDB.open();
formDB.setMsg(0, (loginnameField.getString() + "$" + passwordField.getString()));
formDB.close();
msnMIDlet.instance.username = loginnameField.getString();
msnMIDlet.instance.password = passwordField.getString();
}catch(Exception e){
System.out.println(e.toString());
}
return true;
}
return false;
}
// /**
// * 监听消息
// * @param c Command
// * @param d Displayable
// */
// public void commandAction(Command c, Displayable d){
// System.out.println("command"+ c.toString());
// formDB.open();
// if (c.getCommandType() == Command.OK){
// if (this.formType == T_LOGIN && bSave){//如果是登陆窗口
// try{
// formDB.setMsg(0, (loginnameField.getString() + "$" + passwordField.getString()));
// System.out.println("Message COunt ="+formDB.getMsgCount()+ formDB.getMsg(0));
// formDB.close();
// }catch(Exception e){
// System.out.println(e.toString());
// }
//
// }
// msnMIDlet.instance.username = loginnameField.getString();
// msnMIDlet.instance.password = passwordField.getString();
// msnMIDlet.instance.loginMsn();
//
// }else if (c.getCommandType() == Command.CANCEL){
//
// }
//
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -