📄 calendareditform.java
字号:
//CalendarEditForm.java
//实现添加或修改日程记录
package calendar;
import java.util.*;
import javax.microedition.lcdui.*;
public class CalendarEditForm extends Form
{
public final static int ADD =0; //新增加日程
public final static int EDIT =1; //修改原有日程
protected TextField tbName, tbMemo; //输入日程名称和说明
protected DateField tmCal; //输入日程条目的时间
protected ChoiceGroup listType; //选择日程类型
protected int editType; //保存编辑类型
protected ScheduleItem schItem; //保存被编辑的日程记录
protected Date dateSaved; //保存日程记录的日期
//构造器,创建日程记录
public CalendarEditForm(Date date)
{
super("Add");
dateSaved = date;
schItem =null;
initForm();
editType = ADD;
tmCal.setDate(new Date(0));
}
//构造器,编辑指定日程记录
public CalendarEditForm(ScheduleItem schedule)
{
super("Edit");
dateSaved =schedule.itemTime;
initForm();
editType = EDIT;
tbName.setString(schedule.itemName);
tmCal.setDate(schedule.getTime());
tbMemo.setString(schedule.itemMemo);
schItem = schedule;
listType.setSelectedIndex(schedule.itemType,true);
}
//创建Form 内的Item对象
protected void initForm()
{
tbName = new TextField("Name","",10,TextField.ANY);
tbName.setLayout(Item.LAYOUT_NEWLINE_AFTER|Item.LAYOUT_EXPAND|Item.LAYOUT_2);
tbMemo = new TextField("Memo","",60,TextField.ANY);
tbMemo.setLayout(Item.LAYOUT_NEWLINE_AFTER|Item.LAYOUT_EXPAND|Item.LAYOUT_2);
tmCal = new DateField("Time",DateField.TIME);
tmCal.setLayout(Item.LAYOUT_NEWLINE_AFTER|Item.LAYOUT_EXPAND|Item.LAYOUT_2);
listType = new ChoiceGroup("Type",Choice.POPUP);
listType.setLayout(Item.LAYOUT_NEWLINE_AFTER|Item.LAYOUT_EXPAND|Item.LAYOUT_2);
append(tbName);
append(listType);
append(tmCal);
append(tbMemo);
for(int i=0;i<6;i++) //添加日程类型到列表中
listType.append(ScheduleItem.getTypeName(i), null);
listType.setSelectedIndex(0,true);
}
//得到编辑的类型
public int getType()
{
return editType;
}
//得到被编辑或添加的日程记录
public ScheduleItem getScheduleItem()
{
if(schItem == null)//如果是新添加日程,则创建新的日程记录对象
schItem = new ScheduleItem();
Date dateInput = tmCal.getDate();
Calendar calTime = Calendar.getInstance();
Calendar cal = Calendar.getInstance();
calTime.setTime(dateInput);
cal.setTime(dateSaved);
calTime.set(Calendar.YEAR,cal.get(Calendar.YEAR));
calTime.set(Calendar.MONTH,cal.get(Calendar.MONTH));
calTime.set(Calendar.DAY_OF_MONTH,cal.get(Calendar.DAY_OF_MONTH));
//设置日程记录的值
schItem.set(tbName.getString(), listType.getSelectedIndex(), calTime.getTime(), tbMemo.getString());
calTime=null;
cal=null;
return schItem;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -