?? noteeditworkflow.java
字號:
/*
* Created on 2005-3-6
*
* Note Project
*/
package com.favo.note;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import com.favo.ui.BackgroundTask;
import com.favo.ui.BaseController;
import com.favo.ui.BaseView;
import com.favo.ui.ProgressGaugeUI;
import com.favo.ui.ProgressObserver;
/**
* @author Favo
*
* NoteEditWorkflow <<Controller>>
*/
public class NoteEditWorkflow extends BaseController {
NoteEditUI noteEditUI;
com.favo.note.NoteLocator.Note note;
int noteId;
/**
* @param noteId
*/
public NoteEditWorkflow(int noteId) {
super();
this.noteId = noteId;
}
/**
* 如果已經構造好了Note使用這個構造函數
*
* @param note
* @param noteId
*/
public NoteEditWorkflow(com.favo.note.NoteLocator.Note note, int noteId) {
super();
this.note = note;
this.noteId = noteId;
}
public BaseView getView() {
return noteEditUI;
}
public void setView(BaseView view) {
noteEditUI = (NoteEditUI) view;
}
public com.favo.note.NoteLocator.Note getNote() {
if (note == null) {
try {
note = NoteLocator.getInstance().getNote(noteId);
} catch (Exception e) {
e.printStackTrace();
Alert al = new Alert("error");
al.setString(e.toString() + "\n" + e.getMessage());
getView().getDisplay().setCurrent(al);
}
}
return note;
}
public String getTitle() {
return getNote().getTitle();
}
public String getContent() {
return getNote().getContent();
}
/**
* 直接存盤,使用原先的題目
*
*/
public void saveDispose() {
if (getTitle().equals("")|noteId==NoteLocator.NEWNODE) {
saveWithTitleDispose();
} else {
saveNote();
}
}
/**
* 更新題目,并存盤
*/
public void saveWithTitleDispose() {
NoteSaverUI noteSaverUI=new NoteSaverUI(this);
noteSaverUI.displayScreen();
}
/**
*儲存,被saveDispose(),saveWithTitleDispose()調用
*/
public void saveNote(){
getNote().setContent(((NoteEditUI)getView()).textBox.getString());//設置修改后的內容
getNote().setDate(System.currentTimeMillis());//設置修改時間
ProgressObserver poUI = ProgressGaugeUI.getInstance();
BackgroundTask bkTask = new BackgroundTask(poUI, getView()
.getScreen(), getView().getDisplay()) {
public boolean runTask() {
alertScreen = new Alert("Error", "Can't save the note",
null, AlertType.ERROR);
needAlert = true;
try {
NoteLocator.getInstance().saveNote(note, noteId);
} catch (Exception e) {
e.printStackTrace();
getView().getDisplay().setCurrent(alertScreen);
return false;
}
getProgressObserver().updateProgress("ok!");
backDispose();
System.out.println("save ok");
return true;
}
public void cancel() {
}
};
BackgroundTask.runWithProgressGauge(bkTask, "save...",
"please wait", false, getView().getDisplay());
}
public void backDispose() {
NoteManagerWorkflow noteListWorkflow = new NoteManagerWorkflow();
NoteManagerUI noteListUI = new NoteManagerUI(noteListWorkflow);
noteListUI.displayScreen();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -