⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functionlist.java

📁 用J2ME写的一个移动校园管理软件。我是看这个学习J2ME的。现在看来写得不是很好。
💻 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 + -