• rsrs2008
    了解作者
  • Java
    开发工具
  • 18KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 14
    下载次数
  • 2005-09-02 14:02
    上传日期
这是一个在j2me平台上开发使用的课程表,好了正好二十个字
kcb.rar
  • kcb
  • classes
  • kcb$Awoke.class
    473B
  • kcb.class
    8.9KB
  • res
  • ico
  • kcb.png
    103B
  • Thumbs.db
    9KB
  • Thumbs.db
    4KB
  • src
  • kcb.java
    9.9KB
  • bin
  • MANIFEST.MF
    161B
  • kcb.jad
    206B
  • tmpclasses
  • kcb$Awoke.class
    473B
  • kcb.class
    7.9KB
  • lib
  • tmplib
  • project.properties
    119B
  • www.pudn.com.txt
    218B
内容介绍
/**MIDlet程序的运行流程 构造函数---->startApp()------>侦听事件,接受命令------->commandAction()方法------->调用别的方法----------->如果是exit命令--------->pauseApp()--------->destroyApp()方法。*/ //导入必要的Java包 import javax.microedition.lcdui.*;//用户界面包,主要用于构造程序的用户界面,Command、Form都是这个包的类 import javax.microedition.midlet.MIDlet;//这个包是MIDlet程序的声明周期包,主要定义了MIDlet类,MIDlet类是一个抽象类,里面声明了startApp()、destroyApp()、pauseApp()等抽象方法。 import javax.microedition.rms.RecordStore;//实现了对手机数据的存取功能 import java.util.*; public class kcb extends MIDlet implements CommandListener//J2ME程序一般应该继承MIDlet,实现CommandListener及接口。 { private List menuList; private List dayList; Form viewForm;//Form是容器的一种,实例化Form对象--viewForm Form modifyForm; Form timeForm; Alert saveAlert; Timer timer = new Timer(); Awoke awoke = new Awoke(); private TextField className[]; String mainMenuItem[] = { "课程表" }; String dayItem[] = { "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日" }; String dayName[] = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; String number[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13" }; private Display display;//定义私有对象,Display代表屏幕,显示区域 private String currentScreen; RecordStore rs; private Ticker informTicker; private Command enterCommand;/**声明一个Command对象,J2ME的事件处理机制-在J2ME程序中,必须预先定义一些Command对象,注册到程序中。当设备发生了某个事件,会产生相应的Command对象,并把它传递给一个事件处理函数----commandAction(),由它对所产生的事件做统筹处理。*/ private Command exitCommand; private Command viewCommand; private Command saveCommand; private Command returnCommand; private Command returnwkCommand; private Command savesetCommand; private Command modificationCommand; public kcb()//构造函数 { viewForm = null; modifyForm = null; saveAlert = new Alert("系统提示", "保存成功!", null, AlertType.INFO); className = new TextField[13]; currentScreen = ""; rs = null; informTicker = new Ticker("毕业设计--课程表--林翔"); enterCommand = new Command("进入", 4, 1); exitCommand = new Command("离开", 7, 1); viewCommand = new Command("查看", 1, 1); saveCommand = new Command("保存", 1, 1); returnCommand = new Command("返回", 1, 1); modificationCommand = new Command("修改", 1, 1); returnwkCommand = new Command("返回",1,1); savesetCommand = new Command("保存设置",1,1); display = Display.getDisplay(this);//函数内部,调用Display对象的静态方法---getDisplay(),获取屏幕对象,实例化display变量。这个调用是必要的。 } public void startApp()//startApp()方法是父类的抽象方法,在子类中必须予以覆盖 { menuList = new List("主目录", 3, mainMenuItem, null); menuList.setTicker(informTicker); timer.schedule(awoke,20000,20000);//Timer menuList.addCommand(exitCommand);//将退出命令注册到List对象(menulist)中,这样List对象(menulist)可以对该命令作出响应。 menuList.addCommand(enterCommand); menuList.setCommandListener(this);//设置List对象(menulist)的命令监听者 display.setCurrent(menuList);//将List对象(menulist)设置为屏幕显示的对象 currentScreen = "主目录"; } public void pauseApp()//pauseApp()方法的作用是暂停程序,并销毁容器对象或者是画布对象。手机屏幕将会是一片空白。 { display.setCurrent(null); menuList=null; } public void commandAction(Command command, Displayable displayable)//事件处理函数,它接受各种命令,并对其进行分析,再分别调用合适的处理方法 { if(command == exitCommand) { destroyApp(false); notifyDestroyed(); } if(command == enterCommand) doClassForm(); if(command == viewCommand) { int i = dayList.getSelectedIndex(); doViewForm(i); } if(command == returnCommand) if(currentScreen == "课程表") { display.setCurrent(menuList); currentScreen = "主目录"; } else { doClassForm(); } if(command == saveCommand) { doSave(currentScreen); display.setCurrent(saveAlert); } if(command == modificationCommand) doModify(currentScreen); if (command == returnwkCommand) { if(currentScreen == "提醒") { display.setCurrent(menuList); currentScreen = "主目录"; } } /** if (command == savesetCommand) { dosaveset(); }*/ } public void destroyApp(boolean flag)//destroyApp()方法的作用是退出程序并销毁程序对象 { } private void doClassForm() { dayList = new List("课程表", 3, dayItem, null); dayList.addCommand(viewCommand); dayList.addCommand(returnCommand); dayList.setCommandListener(this); display.setCurrent(dayList); currentScreen = "课程表"; } private void doViewForm(int i) { viewForm = new Form(dayItem[i]);//Form的构造函数的参数(dayItem[i])就是屏幕的标题。 String as[] = getInformation(dayName[i]); viewForm.append("上午");//在容器中存放一个字符串"上午" for(int j = 0; j < 5; j++) viewForm.append("\n" + number[j] + ":" + as[j]); viewForm.append("\n下午"); for(int k = 5; k < 10; k++) viewForm.append("\n" + number[k] + ":" + as[k]); viewForm.append("\n晚上"); for(int l = 10; l < 13; l++) viewForm.append("\n" + number[l] + ":" + as[l]); viewForm.addCommand(modificationCommand); viewForm.addCommand(returnCommand); //viewForm.addCommand(timeCommand); viewForm.setCommandListener(this); currentScreen = dayName[i]; display.setCurrent(viewForm); } private String[] getInformation(String s) { String as[] = { "", "", "", "", "", "", "", "", "", "", "", "", "" }; String s1 = null; int j = 0; boolean flag = false; try { rs = RecordStore.openRecordStore(s, false);/*openRecordStore(String recordStoreName, boolean createIfNecessary) 打开 (和 可能创建) 一个有关已知的MIDlet包的RS .*/ int i; for(i = 0; i < rs.getNextRecordID(); i++);//getNextRecordID():获得加入进RS里的下一个记录的ID s1 = new String(rs.getRecord(i - 1));//getRecord(int recordId):获得一个已知数据库中的数据的副本-取出纪录 }catch(Exception exception) { return as; } for(int l = 0; l < 13; l++) { int k = s1.indexOf(61, j);//indexOf(int ch, int fromIndex)在指定索引处开始查找,返回在该字符串中指定的子字符串第一次出现处的索引。 as[l] = s1.substring(j, k);//substring(int, int) 返回是该字符串子串的新字符串。 j = k + 1; } try { rs.closeRecordStore(); } catch(Exception exception1) { return as; } return as; } private void doModify(String s) { modifyForm = new Form(s); String as[] = getInformation(s); for(int i = 0; i < 13; i++) className[i] = new TextField(number[i], as[i], 6, 0); modifyForm.append("上午"); for(int j = 0; j < 5; j++) modifyForm.append(className[j]); modifyForm.append("下午"); for(int k = 5; k < 10; k++) mo
评论
    相关推荐
    • J2ME.rar
      j2me课件,如果要学习j2me的可以下载来看看。
    • J2ME-timetable-.rar
      J2ME 手机版课程表 源文件 可以使用简单的课程表 功能
    • J2ME.rar
      J2ME学习资料,有26篇文章,有少许重复,这时克当初从0学J2ME到写出一个简单课程表程序之间积累下来的,用时7天学会,入门相当的好.不过要是你的智力和我的差太远的话...
    • J2ME.rar
      J2ME程序设计实例教程的源码,包含多个实例代码
    • j2me.rar
      手机J2ME开发大全,详细介绍了J2ME开发的各个知识点
    • Java课程表应用J2me源码.rar
      Java课程表应用J2me源码,手机上运行的Java课程表程序,界面和功能都还挺粗糙,还有很大的优化空间。本课程表源代码用Eclipse打开。功能上可以记录多个班级的课程表,并且可对课程内容进行修改。
    • 大学手机课程表程序 J2ME小程序
      这一款课程表辅助软件,适合学生和辅导员使用。 它可以记录多个班级的课程表,并且可对课程内容进行修改 说明: 1.本软件根据涉外上课时间设计,即,上午4节从8:00开始,下午4接从2:00(冬" 季时间为下午1:50)...
    • J2ME实用教程,内含课件、源代码
      随着手机的普及和移动无线增值业务的飞速发展,对手机游戏和...本书适用于普通本科院校通信工程、电子信息工程、网络工程、计算机软件等专业J2ME相关课程的教学,同时也可作为部分高职高专院校和培训学校的教学用书。
    • J2ME手机版课程表源代码
      J2ME手机版课程表源代码 这一款课程表辅助软件,适合学生和辅导员使用。 它可以记录多个班级的课程表,并且可对课程内容进行修改。 说明: 1.本软件根据涉外上课时间设计,即,上午4节从8:00开始,下午4接从2:00...
    • J2ME实用教程(超实用)
      本资料包含:电子课件,书中源码,习题源码;...本书适用于普通本科院校通信工程、电子信息工程、网络工程、计算机软件等专业J2ME相关课程的教学,同时也可作为部分高职高专院校和培训学校的教学用书。