📄 formanditemdemo.java
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.IOException;
//应用程序主类
public class FormAndItemDemo extends MIDlet implements CommandListener {
private Display display;
private LoginForm login;
private ImageForm imgForm;
private Command cmdExit = new Command("退出", Command.EXIT, 1);
private Command cmdBack = new Command("返回", Command.BACK, 1);
public FormAndItemDemo() {
display = Display.getDisplay(this);
login = new LoginForm("登录");
}
public void startApp() {
login.addCommand(cmdExit);
login.setCommandListener(this);
display.setCurrent(login);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command cmd, Displayable d) {
if(cmd == cmdExit) {
notifyDestroyed();
}
else if(cmd == LoginForm.LOGIN_COMMAND) {
String name = login.getName();
String password = login.getPassword();
if(name.equals("Yang Guang") && password.equals("12345")) {
if(imgForm == null) {
String[] imgName = new String[10];
for(int i=0; i<imgName.length; i++) {
imgName[i] = "/img" + i + ".png";
}
imgForm = new ImageForm("图片浏览", imgName);
imgForm.addCommand(cmdBack);
imgForm.setCommandListener(this);
}
display.setCurrent(imgForm);
}
else {
login.setInfo("输入用户名或者密码错误,请重新输入!");
}
}
else if(cmd == cmdBack) {
display.setCurrent(login);
}
else if(cmd == ImageForm.NEXT_COMMAND) {
imgForm.next();
}
}
}
//登录界面
class LoginForm extends Form implements ItemStateListener {
static final Command LOGIN_COMMAND = new Command("登录", Command.SCREEN, 1);
private TextField tfName;
private TextField tfPassword;
private ChoiceGroup cgMode;
private StringItem siMessage;
private String name = "";
private String password = "";
LoginForm(String title) {
super(title);
tfName = new TextField("用户名:", "", 10, TextField.ANY);
tfPassword = new TextField("密 码:", "", 10, TextField.PASSWORD|TextField.ANY);
String[] elements = {"学生", "老师"};
cgMode = new ChoiceGroup("登录模式:", Choice.POPUP, elements, null);
siMessage = new StringItem("提示:\n", "输入用户名,密码!");
append(tfName);
append(tfPassword);
append(new Spacer(getWidth(), 10));//添加一个间隔组件
append(cgMode);
append(new Spacer(getWidth(), 10));//添加一个间隔组件
append(siMessage);
//为当前Form设置项目状态监视器,当Form中Item的状态被改变时,
//监视器将回调ItemStateListener接口中的方法。
setItemStateListener(this);
}
//ItemStateListener接口中的方法。
public void itemStateChanged(Item item) {
if(item == tfName || item == tfPassword) {
name = tfName.getString();
password = tfPassword.getString();
siMessage.setText("输入用户名,密码!");
if(!name.equals("") && !password.equals("")) {
addCommand(LOGIN_COMMAND);
}
else {
removeCommand(LOGIN_COMMAND);
}
}
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
void setInfo(String msg) {
siMessage.setText(msg);
}
}
//浏览图片Form
class ImageForm extends Form {
static final Command NEXT_COMMAND = new Command("下一个", Command.SCREEN, 1);
private String[] imgnames;
private Image[] images;
private ImageItem imgItem;
private int index = 0;
ImageForm(String title, String[] imgnames) {
super(title);
this.imgnames = imgnames;
images = new Image[imgnames.length];
for(int i=0; i<images.length; i++) {
try {
images[i] = Image.createImage(imgnames[i]);
}
catch(IOException ioe) {
images[i] = null;
}
}
imgItem = new ImageItem(imgnames[index], images[index],
Item.LAYOUT_CENTER, "没有图片");
append(imgItem);
if(images.length >= 2) {
addCommand(NEXT_COMMAND);
}
}
public void next() {
index = (index+1)%imgnames.length;
imgItem.setLabel(imgnames[index]);
imgItem.setImage(images[index]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -