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

📄 guicontroller.java

📁 我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]就是这么一种概念: 一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的Java应用程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*////////////////////////////////////////////////////////////////////
//文档生成日期:2005.10.12
//
//(1)概述:
//类名称:GUIController
//类说明:
//       MVC中的控制器部分,负责界面事件的处理,以及决定该显示哪一个Form。
//
//所在子系统:VideoIM
//
//系统总描述:
	    我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]是
	    一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的应用程序,
	    用来自动驱动手机摄像头定时拍摄,并后台将JPEG图像(很小,大约几KB)上传到服务器上,
	    这样就可以帮助其他系统工作,比如PC机上的MSN Messenger可以和你的移动MSN Messenger
	    通过这种方式视频聊天,对方可以每隔十几秒钟看到你的手机所看到的画面了。

	 子系统描述:
		VideoIM的功能列表:
			1:我要MobileWebCam
				启动MobileWebCam
				停止MobileWebCam
			2:MobileWebCam设置
			3:关于我
			4:退出


//(2)历史记录:
//创建人: 郑昀(2005.10.07)
//联系我: Google Talk >> zhengyun@gmail.com
//Blogs:    http://blog.csdn.net/zhengyun_ustc/以及http://www.cnblogs.com/zhengyun_ustc

//(3)版权声明:
//由于我这个版本的VideoIM手机自动拍照上传器也是基于Mowecam的设计理念基础上改编而来的,
//所以决定遵照GPL协议的大意开放源代码,您可以自由传播和修改,在遵照GPL协议的约束条件的前提下。

//(4)相关资源:
1:《[J2ME]VideoIM手机自动拍照上传器开源说明》
2:《[J2ME]VideoIM手机自动拍照上传器设计说明》
3:下载源代码:

////////////////////////////////////////////////////////////////////*/
package com.ultrapower.control;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Displayable;

import com.ultrapower.common.CommandResources;
import com.ultrapower.facade.RmsFacade;
import com.ultrapower.midlet.VideoCoolala;
import com.ultrapower.model.VideoSettings;
import com.ultrapower.view.About;
import com.ultrapower.view.FormPostProgress;
import com.ultrapower.view.FormSetting;
import com.ultrapower.view.FormWebcam;
import com.ultrapower.view.MainMenuList;
import com.ultrapower.view.WaitFlash;

/**********************************************************
//	 GUIController
//
//	 Class Description:
//	 	MVC中的控制器部分,负责界面事件的处理,以及决定该显示哪一个Form。
//
//	 Author:
//	      zhengyun@ultrapower 2005.10.07
//
**********************************************************/
public class GUIController {
	public VideoCoolala	 		m_mobilewebcamMidlet;
	private VideoSettings 		m_Settings;
	private MainMenuList 		m_listMenu;
	//private FormPostProgress 	m_progressForm;
	private FormSetting 		m_settingForm;
	private FormWebcam 		m_webcamForm;
	private WaitFlash 			m_waitFlash;
	private Alert 				m_alert;
	private About 				m_about;
	
	//////////////////////////////////////////////////////////
	// 下面这4个参数是专门为了后台处理线程传递数据进来到控制器准备的
	// 所以保证这4个set函数为线程同步的
	/*
	 * 将要发送的图像数据的总字节数目
	 */
	private String m_sPostDataTotalLength;
	public synchronized void setPostDataTotalLength(String value)
	{
		m_sPostDataTotalLength = value;
	}
	/*
	 * 还剩余的图像字节数目
	 */
	private String m_sPostingDataLength;
	public synchronized void setPostingDataLength(String value)
	{
		m_sPostingDataLength = value;
	}
	/*
	 * 从远端服务器传回来的错误号
	 */
	private String m_sRemoteServerResponse;
	public synchronized void setRemoteServerResponse(String value)
	{
		m_sRemoteServerResponse = value;
	}
	/*
	 * 在snapshot时发生的异常报告
	 */
	private String m_sSnapshotException;
	public synchronized void setSnapshotException(String value)
	{
		m_sSnapshotException = value;
	}
	/*
	 * 通知发送数据的线程退出,
	 * 利用这种方式,使得后台线程和界面同步退出
	 */
	private boolean m_bStopPostData = false;
	public synchronized boolean getStopPostData()
	{
		return m_bStopPostData;
	}
	/*
	 * 在后台线程中New出来一个等候动画界面,然后传出来到控制器上
	 * 这样,让对等候界面上的文字操作还在控制器中
	 */
	//public synchronized void setProgressForm(FormPostProgress value)
	//{
		//m_progressForm = value;
	//}
	/////////////////////////////////////////////////////////////
	
	/** Nbr of keys */
	protected static final int	NBR_OF_KEYS			= 6;
	
	public GUIController(VideoCoolala midletMain){
		m_mobilewebcamMidlet = midletMain;
	}
	
	/**********************************************************
	//	 GUIController::init()
	//
	//	 Description:
	//	  初始化控制器:
	 * 		初始化各个Form界面
	 * 		设定先显示MainMenu列表界面
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@ultrapower 2005.10.12
	//
	**********************************************************/
	public void init(){
		
		// Initialize the RMS persistence facade
	    RmsFacade.init(NBR_OF_KEYS);
		
		m_Settings = VideoSettings.getInstance();
		
		// init ui
		m_listMenu		=	new MainMenuList(
				String.valueOf(CommandResources.getChars(
						CommandResources.TXT_T_APP)), this);
		setCurrent(m_listMenu);
		
		m_about			=	new About(
				String.valueOf(CommandResources.getChars(
						CommandResources.TXT_T_ABOUT)));
		m_settingForm	=	new FormSetting(this);	
		m_webcamForm	=	new FormWebcam(
				String.valueOf(CommandResources.getChars(
						CommandResources.TXT_T_STOPWEBCAM))
						,this);
		// 注意,此处不再初始化FormPostProgress了!!
	}


	/**********************************************************
	//	 GUIController::getSettings()
	//
	//	 Description:
	//	  返回当前封装了RMS操作的Settings的类实例
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@ultrapower 2005.10.07
	//
	**********************************************************/
	public VideoSettings getSettings(){
		return m_Settings;
	}
	
	/**********************************************************
	//	 GUIController::setCurrent()
	//
	//	 Description:
	//	  设置当前显示的界面
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@ultrapower 2005.10.07
	//
	**********************************************************/
	public void setCurrent(Displayable disp){
		m_mobilewebcamMidlet.setCurrent(disp);
    }
	public void setCurrent(Alert alert, Displayable disp){
		m_mobilewebcamMidlet.setCurrent(alert, disp);
    }
	
	/**********************************************************
	//	 GUIController::setProgress/setTitle
	//
	//	 Description:
	//	  设置FormProgress界面上的显示文字/标题的
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@ultrapower 2005.10.07
	//
	**********************************************************/
	/*public void setProgress(String title, String message){
		m_progressForm.setProgress(title, message);
	}
	public void setTitle(String title){
		m_progressForm.setTitle(title);
	}*/
	
	/**********************************************************
	//	 GUIController::EventID
	//
	//	 Description:
	//	  定义事件ID内部类
	//
	//	 Parameters:
	//	 Return Values:
	//	 Author:
	//	      zhengyun@ultrapower 2005.10.07
	//
	**********************************************************/

⌨️ 快捷键说明

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