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

📄 editui.java

📁 《j2ee开发全程实录》随书源码
💻 JAVA
字号:
package com.cownew.PIS.ui.commonUI;

import java.awt.event.ActionEvent;

import com.cownew.PIS.framework.client.ClientMetaDataLoaderFactory;
import com.cownew.PIS.framework.client.RemoteServiceLocator;
import com.cownew.PIS.framework.common.IBaseDAO;
import com.cownew.PIS.framework.common.IValueObject;
import com.cownew.PIS.framework.common.db.Selectors;
import com.cownew.PIS.framework.common.metaDataMgr.EntityModelInfo;
import com.cownew.PIS.framework.common.metaDataMgr.IMetaDataLoader;
import com.cownew.PIS.ui.commonUI.databind.UIDataBinder;
import com.cownew.ctk.ui.swing.MsgBox;
import com.cownew.ctk.ui.swing.SwingUtils;

public abstract class EditUI extends AbstractEditUI
{
	protected UIDataBinder dataBinder;

	protected IValueObject modelVO;

	private EditUIModeEnum mode;

	public EditUI() throws Exception
	{
		super();
		dataBinder = new UIDataBinder();
	}

	/**
	 * 得到远程服务类
	 * @return
	 */
	public abstract Class getServiceIntfClass();

	public String getUITitle()
	{
		IMetaDataLoader metaLoader = ClientMetaDataLoaderFactory.getLoader();

		String entityPath = getRemoteService().getEntityPath();
		EntityModelInfo eInfo = metaLoader.loadEntityByEntityPath(entityPath);
		return eInfo.getAlias();
	}

	protected IBaseDAO getRemoteService()
	{
		return (IBaseDAO) RemoteServiceLocator
				.getRemoteService(getServiceIntfClass());
	}

	/**
	 * 设定界面状态
	 * @param mode
	 */
	public void setMode(EditUIModeEnum mode)
	{
		this.mode = mode;

		if (mode.equals(EditUIModeEnum.VIEW))
		{
			SwingUtils.setChildEnabled(this, false);
			actionSubmit.setEnabled(false);
		}
	}

	/**
	 * 得到界面状态
	 * @return
	 */
	public EditUIModeEnum getMode()
	{
		return mode;
	}

	/**
	 * 初始化数据绑定
	 *
	 */
	protected void initDataBind()
	{
		dataBinder.setValueObject(modelVO);
	}

	/**
	 * 设定界面要操纵的vo
	 * @param ov
	 */
	public void setModelVO(IValueObject ov)
	{
		modelVO = ov;
		initDataBind();
	}

	/**
	 * 将vo加载到界面
	 *
	 */
	public void loadToUI()
	{
		dataBinder.loadToUI();
	}

	/**
	 * 保存数据前的校验
	 * @param vo 
	 * @throws Exception
	 */
	protected void verifyBeforeSubmit(IValueObject vo) throws Exception
	{

	}

	/**
	 * 界面数据装载到vo
	 *
	 */
	public void storeToVO() throws Exception
	{
		dataBinder.storeToVO();

	}

	/**
	 * 根据id加载记录
	 * @param pkId
	 * @
	 */
	public void loadById(String pkId)
	{
		IBaseDAO baseDAO = getRemoteService();

		IValueObject ov = baseDAO.loadByPK(pkId, getSelectors());
		setModelVO(ov);
		loadToUI();
	}

	public void actionSubmit_actionPerformed(ActionEvent e) throws Exception
	{
		IBaseDAO baseDAO = getRemoteService();
		storeToVO();
		verifyBeforeSubmit(modelVO);
		if (getMode().equals(EditUIModeEnum.UNSAVED))
		{
			String id = baseDAO.save(dataBinder.getValueObject());
			modelVO.setId(id);
			setMode(EditUIModeEnum.EDIT);
		} else
		{
			baseDAO.update(dataBinder.getValueObject());
		}

		MsgBox.showInfo(this, "保存成功!");
	}

	public Selectors getSelectors()
	{
		Selectors selector = new Selectors();
		return selector;
	}

}

⌨️ 快捷键说明

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