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

📄 homepage.java

📁 SME框架(Swing)开发实例,使用SME框架开发桌面应用程序
💻 JAVA
字号:
/**
 * @(#)Homepage.java 1.0 2007-9-20
 *
 * Copyright 2007 Sino-Gain, Inc. All rights reserved.
 * @author Fengyiyun
 */
package com.sme.demo;

import java.awt.BorderLayout;
import java.awt.Dimension;

import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
import javax.swing.JTree;

import com.boyang.sme.swingx.JXFrame;
import com.boyang.sme.swingx.data.DataModel;
import com.boyang.sme.swingx.data.DataModelPool;
import com.boyang.sme.swingx.data.JavaBeanDataModel;
import com.boyang.sme.swingx.utils.IconUtils;
import com.sme.demo.model.EmployeeListModel;
import com.sme.demo.model.EmployeeTableModel;
import com.sme.demo.model.EmployeeTreeModel;

public class Homepage extends JXFrame {

	/** ********** Panel容器 ********** */
	private JPanel contentPanel = null;

	/** ************* 控件 ************ */
	private JToolBar toolbar = null;

	private JTree treContent = null;

	private JTable tblContent = null;

	private JScrollPane slpTree = null;

	private JScrollPane slpTable = null;

	/** ********** 按钮定义区 ********** */
	private JButton btnCreate = null;

	private JButton btnelete = null;

	public Homepage() {
		super();

		// 初始化界面
		initialize();

		// 初始化脚本
		initScript();
		// --End of init
	}

	// TODO 初始化界面-开始====================================================

	public void initialize() {
		setContentPane(getContentPanel());
	}

	private JPanel getContentPanel() {
		if (contentPanel == null) {
			contentPanel = new JPanel();
			contentPanel.setLayout(new BorderLayout());
			contentPanel.add(getToolBar(), BorderLayout.NORTH);
			contentPanel.add(getSlpTree(), BorderLayout.WEST);
			contentPanel.add(getSlpTable(), BorderLayout.CENTER);
		}
		return contentPanel;
	}

	private JToolBar getToolBar() {
		if (toolbar == null) {
			toolbar = new JToolBar();
			toolbar.add(getBtnCreate());
			toolbar.add(getBtnDelete());
		}
		return toolbar;
	}

	private JButton getBtnCreate() {
		if (btnCreate == null) {
			btnCreate = new JButton(IconUtils
					.getIcon("/com/sme/resource/create_action.gif"));
			btnCreate.setToolTipText("添加");
		}
		return btnCreate;
	}

	private JButton getBtnDelete() {
		if (btnelete == null) {
			btnelete = new JButton(IconUtils
					.getIcon("/com/sme/resource/delete_action.gif"));
			btnelete.setToolTipText("删除");
		}
		return btnelete;
	}

	private JTree getTreContent() {
		if (treContent == null) {
			treContent = new JTree();
			treeModel.setModelToTree(treContent);
		}
		return treContent;
	}
	
	private JTable getTblContent() {
		if (tblContent == null) {
			tblContent = new JTable(tableModel);
			tableModel.setColunModelHeaders(tblContent);
			tblContent.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
			tableModel.sortTable(tblContent);
		}
		return tblContent;
	}
	
	private JScrollPane getSlpTree() {
		if (slpTree == null) {
			slpTree = new JScrollPane(getTreContent());
			slpTree.setPreferredSize(new Dimension(200,getHeight()));
		}
		return slpTree;
	}
	
	private JScrollPane getSlpTable() {
		if (slpTable == null) {
			slpTable = new JScrollPane(getTblContent());
		}
		return slpTable;
	}
	
	// TODO 系统默认固定的菜单项====================================================

	// TODO 初始化界面-结束====================================================
	/** *** 其他成员变量 *** */
	private DataModel dataModel;
	
	private EmployeeTreeModel treeModel = new EmployeeTreeModel();
	
	private EmployeeTableModel tableModel = new EmployeeTableModel();
	
	// TODO 初始化脚本-开始====================================================
	// TODO 初始化脚本-结束====================================================
	public void initScript() {
		registerActions();
		initGUIValues();
		loadDataModel();
	}

	public void pageActivated() {

	}

	// ---------------- 数据装载开始 ------------------
	public void loadDataModel() {
		/** *** 执行Swing前后回调方法 *** */
		executeCallBack();
	}

	public void initGUIValues() {
		
	}

	/**
	 * 装载数据前执行 装载数据模型
	 */
	public void executeBefore() {
		dataModel = DataModelPool.getDataModel(EmployeeListModel.class.getName());
		if (dataModel == null) {
			dataModel = new JavaBeanDataModel(EmployeeListModel.class, "employees.xml");
		}
	}

	/**
	 * 装载数据后执行 绑定数据模型到UI组件
	 */
	public void executeAfter() {
		boundDataModelToUI();
	}

	// ---------------- 数据装载结束 ------------------

	// ---------------- 注册动作开始 ------------------
	public void registerActions() {
		registerAction(btnCreate, "doCreate");
		registerAction(btnelete, "doDelete");
	}

	// ---------------- 注册动作结束 ------------------

	// ---------------- 数据绑定开始 -----------------
	public void boundDataModelToUI() {
		createBinding(treContent, dataModel, "employeelevel");
		createBinding(tblContent, dataModel, "employees");
	}

	// ---------------- 数据绑定结束 ------------------

	// ---------------- 响应动作开始 -----------------
	public void doCreate() {
		writeCache("employee.create.leadid", treeModel.getNodeValue());
		EmployeeDetailWizard wizard = new EmployeeDetailWizard(getMainFrame(), "员工详细信息");
		wizard.open();
		if (!wizard.isCancle()) {
			pullOut();
		}
	}
	
	public void doDelete() {
		
	}
	
	// ---------------- 响应动作结束 ------------------

	// ---------------- 执行动作开始 ------------------

	// ---------------- 执行动作结束 ------------------
} // @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

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