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

📄 addcurriculum.java

📁 J2ME程序设计实例教程的源码
💻 JAVA
字号:
import javax.microedition.lcdui.*;

/**
 * 该类提供了向课表中添加课程的功能。
 */
public class AddCurriculum extends MicroComponent 
                            implements CommandListener, MicroDialogListener {
    //
    private MicroComponent preScreen;   //导航返回界面
    private MicroDialog mDialog;        //对话框
    
    //界面组件
    private Form form;
    private TextField tfName;       //课程名
    private TextField tfClassroom;  //教室
    private ChoiceGroup cgWeek;     //上课日期
    private ChoiceGroup cgJie;      //上课时间
    private TextField tfTeacher;    //任课教师
    private TextField tfRemark;     //附加信息
    
    private Curriculum curriculum;  //课程对象
    private boolean success = false;
    
    public AddCurriculum(Display display, MicroComponent back) {
        super(display);
        this.preScreen = back;
    }
    
    protected Displayable getGUI() {
        return form;
    }
    
    protected void createGUI() {
        //创建界面
        tfName = new TextField("课程名:", "", 20, TextField.ANY);
        tfTeacher = new TextField("任课教师:", "", 5, TextField.ANY);
        tfTeacher.setLayout(Item.LAYOUT_EXPAND);
        tfClassroom = new TextField("教室:", "", 10, TextField.ANY);
        tfClassroom.setLayout(Item.LAYOUT_EXPAND);
        cgWeek = new ChoiceGroup("时间:", Choice.POPUP, Curriculum.WEEKS_LABEL, null);
        cgWeek.setLayout(Item.LAYOUT_2);
        cgJie = new ChoiceGroup(null, Choice.POPUP, Curriculum.JIE_LABEL, null);
        cgJie.setLayout(Item.LAYOUT_2|Item.LAYOUT_EXPAND);
        tfRemark = new TextField("附加信息:", "", 250, TextField.ANY);
        tfRemark.setPreferredSize(-1, Font.getDefaultFont().getHeight()*4);
        tfRemark.setLayout(Item.LAYOUT_VEXPAND);
        
        form = new Form(" 添加课程");
        form.append(tfName);        //把Item组件添加到form中
        form.append(tfTeacher);
        form.append(tfClassroom);
        form.append(cgWeek);
        form.append(new Spacer(40, 1)); //添加一个空白
        form.append(cgJie);
        form.append(new Spacer(1, 5));
        form.append(tfRemark);
        
        //创建命令按钮,并添加到form对象中,
        Command cmdBack = new Command("返回", Command.BACK, 1);
        form.addCommand(cmdBack);
        Command cmdSave = new Command("保存", Command.SCREEN, 1);
        form.addCommand(cmdSave);
        
        //为form对象设置命令监视器
        form.setCommandListener(this);
        
        //创建对话框,并为其设置监视器
        mDialog = new MicroDialog(display, MicroDialog.OK);   
        mDialog.setMicroDialogListener(this);
    }
    
    protected void createModel() {
        curriculum = new Curriculum(null);
    }
    
    protected void update() {
        if(success) {
            tfName.setString(null);
            tfTeacher.setString(null);
            tfClassroom.setString(null);
            tfRemark.setString(null);
            success = false;
        }
    }
    
    //对话框处理方法
    public void action(MicroDialog md, int code) {
        this.show();
    }
    
    //命令按钮处理方法
    public void commandAction(Command cmd, Displayable d) {
        if(cmd.getCommandType() == Command.BACK) {
            preScreen.show();
        }
        else if(cmd.getCommandType() == Command.SCREEN) {
            String msg = checkInput();  //检查用户输入
            if(msg != null) {       //用户输入有错误
                mDialog.setTitle("输入错误");
                mDialog.setMessage("用户输入信息错误:\n" + msg);
                mDialog.show();
            }
            else {
                //获取数据访问对象实例
                CurriculumDAO dao = CurriculumDAO.getInstance();    
                try {
                    dao.openRecordStore();
                    dao.save(curriculum);
                    success = true;
                    mDialog.setTitle("成功");
                    mDialog.setMessage("保存课程信息成功!\n");
                    mDialog.show();
                }
                catch(DAOException daoe) {
                    mDialog.setTitle("失败");
                    mDialog.setMessage(daoe.getMessage());
                    mDialog.show();
                }
                finally {
                    try {
                        dao.closeRecordStore();
                    }
                    catch(DAOException daoe1) {
                        //
                    }
                }
            }
        }
    }
    
    //检查用户的输入
    private String checkInput() {
        if(isNull(tfName.getString())) {
            return "课程名不能为空!";
        }
        curriculum.setName(tfName.getString());
        
        if(isNull(tfTeacher.getString())) {
            return "上课教师名不能为空!";
        }
        curriculum.setTeacher(tfTeacher.getString());
        
        if(isNull(tfClassroom.getString())) {
            return "上课教室不能为空!";
        }
        curriculum.setClassroom(tfClassroom.getString());
        curriculum.setDate(cgWeek.getSelectedIndex(), cgJie.getSelectedIndex());
        
        String info = tfRemark.getString();
        if(isNull(info)) {
            info = "无";
        }
        curriculum.setRemark(info);
        
        return null;
    }
    
    private boolean isNull(String s) {
        if(s == null || s.trim().equals("")) {
            return true;
        }
        return false;
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -