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

📄 noteeditworkflow.java

📁 手机记事本程序
💻 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 + -