📄 functionlist.java
字号:
/*
* FunctionList.java
*
* Created on 2006年9月1日, 上午12:22
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package cn.edu.nwpu.MobileCampusClinet;
import cn.edu.nwpu.MobileCampusServer.*;
import java.util.Vector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
/**
*
* @author NickJava
*/
public class FunctionList extends List implements CommandListener{
//用户ID
private UserBean user;
//需要修改密码的用户ID
private UserBean newUser;
//用于储存选修课和已借图书的向量
private Vector elementArray;
//登陆界面
private LoginUI login;
//新密码
private String newPSW;
//密码修改的Form
private Form changePassWordForm;
//用户名
private TextField userName;
//密码
private TextField passWord;
//新密码
private TextField newPassWord;
private MIDlet midlet;
private Display display;
private Displayable displayable;
private GaugeObserverUI gaugeObserverUI;
private Command OKCommand;
private Command backCommand;
/** Creates a new instance of FunctionList */
public FunctionList(UserBean user,MIDlet midlet,Displayable displayable) {
super("个人信息功能", Choice.IMPLICIT);
this.user=user;
this.midlet=midlet;
this.display=Display.getDisplay(midlet);
this.displayable=displayable;
newUser = new UserBean();
login = new LoginUI(midlet,displayable,1);
gaugeObserverUI = new GaugeObserverUI();
changePassWordForm=new Form("密码修改");
userName = new TextField("用户名:" , null , 25 , TextField.ANY);
passWord = new TextField("密码:" , null , 25 , TextField.PASSWORD);
newPassWord = new TextField("新密码:" , null , 25 , TextField.PASSWORD);
OKCommand = new Command("确定", Command.OK , 5);
backCommand = new Command("返回",Command.BACK,5);
//向修改密码的屏幕添加用户名文本输入控件
changePassWordForm.append(userName);
//向修改密码的屏幕添加密码文本输入控件
changePassWordForm.append(passWord);
//向修改密码的屏幕添加新密码文本输入控件
changePassWordForm.append(newPassWord);
append("修改密码",null);
append("图书查询",null);
append("选修课查询",null);
addCommand(OKCommand);
addCommand(backCommand);
setCommandListener(this);
}
public void gaugeRun(Thread thread , String title , boolean stop){
gaugeObserverUI.init(title,stop);
display.setCurrent(gaugeObserverUI);
thread.start();
}
private void showError(String message, Displayable d){
Alert alert=new Alert("Error");
alert.setType(AlertType.ERROR);
alert.setTimeout(Alert.FOREVER);
alert.setString(message);
display.setCurrent(alert,d);
}
//开辟一个线程用于网络连接处理数据(用于处理"已借图书"和"已选修课")
public void getInfo(final int num){
Thread thread = new Thread(){
public void run(){
try{
HTTPConnection hc=new HTTPConnection(gaugeObserverUI);
//显示已选择的选修课
PersonalInfoUI choiceElectiveForm = new PersonalInfoUI("已选修课程",user,midlet,displayable);
//显示已借图书
PersonalInfoUI borrowForm = new PersonalInfoUI("已借图书",user,midlet,displayable);
//显示操作结果
PersonalInfoUI operateResultForm = new PersonalInfoUI("使用提示",user,midlet,displayable);
switch(num){
case 1 :
elementArray=hc.getBorrowBook(user);
if(elementArray.size()!=0){
for(int i=0 ; i<elementArray.size() ; i++){
BorrowBean borrowBook=(BorrowBean)elementArray.elementAt(i);
borrowForm.append(new StringItem(borrowBook.getBookname(),
" \r\n藏书地点 :"+borrowBook.getDepository()
+" \r\n还书日期 :"+borrowBook.getReturndate()));
}
display.setCurrent(borrowForm);
}else{
operateResultForm.append("没有借图书");
display.setCurrent(operateResultForm);
}
break;
case 2 :
elementArray=hc.getChoiceElective(user);
if(elementArray.size()!=0){
for(int i=0 ; i<elementArray.size() ; i++){
ChoiceBean choiceElective=(ChoiceBean)elementArray.elementAt(i);
choiceElectiveForm.append(new StringItem( choiceElective.getElectiveName(),
" \r\n上课地点 :"+ choiceElective.getPlace()
+" \r\n上课时间 :"+choiceElective.getTime()
+" \r\n教师 :"+choiceElective.getTeacher()));
}
display.setCurrent(choiceElectiveForm);
}else{
operateResultForm.append("没有选修课");
display.setCurrent(operateResultForm);
}
break;
}
if(gaugeObserverUI!=null){
gaugeObserverUI=null;
}
}catch(Exception e){
showError(e.getMessage(),FunctionList.this);
}
}
};
gaugeRun(thread,"正在进行数据同步",false);
}
//开辟一个线程用于网络连接处理数据(用于处理"修改密码")
public void changPassWord(final UserBean user , final String newpassword){
Thread thread = new Thread(){
public void run(){
try{
HTTPConnection hc=new HTTPConnection(gaugeObserverUI);
PersonalInfoUI result = new PersonalInfoUI("操作结果",user,midlet,displayable);
if(hc.changPassWord(user,newpassword)==true){
result.append("操作成功");
}else{
result.append("操作失败");
}
display.setCurrent(result);
if(gaugeObserverUI!=null){
gaugeObserverUI=null;
}
}catch(Exception e){
showError(e.getMessage(),FunctionList.this);
}
}
};
gaugeRun(thread,"正在进行数据同步",false);
}
//处理监听器
public void commandAction(Command c,Displayable d){
if(d.equals(this)){
if(c==OKCommand){
switch(((List)d).getSelectedIndex()){
case 0 :
changePassWordForm.addCommand(OKCommand);
changePassWordForm.addCommand(backCommand);
changePassWordForm.setCommandListener(this);
display.setCurrent(changePassWordForm);
break;
case 1 :
case 2:
getInfo(((List)d).getSelectedIndex());
break;
}
}
if(c==backCommand){
display.setCurrent(login);
}
}
if(d.equals(changePassWordForm)){
if(c==OKCommand){
newUser.setUserID(userName.getString());
newUser.setPassWord(passWord.getString());
newPSW=newPassWord.getString();
changPassWord(newUser,newPSW);
}
if(c==backCommand){
display.setCurrent(this);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -