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

📄 clienttablemodel.java

📁 本文首先介绍了这些考试系统的形成和发展过程
💻 JAVA
字号:
package net.robin.crm.ui;

import javax.swing.table.AbstractTableModel;

import net.robin.crm.service.CRMService;
import net.robin.crm.service.CRMServiceEvent;
import net.robin.crm.service.CRMServiceObserver;
import net.robin.crm.service.Category;
import net.robin.crm.service.Client;
import net.robin.crm.service.Company;
import net.robin.crm.service.ConfigException;
import net.robin.crm.service.InstanceExeption;
import net.robin.crm.service.ServiceException;
import net.robin.crm.util.Util;

public class ClientTableModel extends AbstractTableModel implements CRMServiceObserver {
	
	private CRMService service;
	
	private Company company;
	private Category category;
	
	private String[] colNames = {"姓名", "移动电话", "电话", "E-mail", "QQ", "性别", "生日", "公司" };
	

	public ClientTableModel() {
		super();
		
		try {
			service = ServiceHandeler.getInstance().getService();
			
			service.addCRMServiceObserver(this);
			
		} catch (ConfigException e) {
			e.printStackTrace();
			Util.error("系统配置错误"+e.getMessage());
		} catch (InstanceExeption e) {
			e.printStackTrace();
			Util.error("不能实例化服务"+e.getMessage());
		} catch (ServiceException e) {
			e.printStackTrace();
			Util.error("服务异常"+e.getMessage());
		}
	}

	public int getRowCount() {
		
		if(service==null)
			return 0;
		
		int count = 0;
		
		
		try {
			count = service.getClientCount(category, company);
		} catch (ServiceException e) {
			e.printStackTrace();
			Util.error("服务异常"+e.getMessage());
		}
		
		return count;
	}

	public int getColumnCount() {
		return colNames.length;
	}
	
	public Class getColumnClass(int columnIndex) {
		if(columnIndex==0)
			return Client.class;
		return String.class;
	}

	public boolean isCellEditable(int rowIndex, int columnIndex) {
		
		//电话列可以修改!
		if(columnIndex==2)
			return true;
		return false;
	}
	
	public void setValueAt(
			Object aValue, 
			int rowIndex, 
			int columnIndex) {
		
		String value = aValue.toString();
		
		//电话列!
		if(columnIndex==2){
			Client client = getClient(rowIndex);
			client.setPhone(value);
			
			try {
				service.updateClient(client);
			} catch (ServiceException e) {
				e.printStackTrace();
				Util.error(e.getMessage());
			}
		}

	}
	
	public Object getValueAt(int rowIndex, int columnIndex) {
		
		if(service == null)
			return null;
		
		Client client = getClient(rowIndex);	
		
		if(client == null)
			return null;
		
		Object value = null;

		switch (columnIndex) {
		case 0:
			value = client;
			break;
		case 1:
			value = client.getMobile();
			break;
		case 2:
			value = client.getPhone();
			break;
		case 3:
			value = client.getEmail();
			break;
		case 4:
			value = client.getQq();
			break;
		case 5:
			value = client.getSex();
			break;
		case 6:
			value = client.getBirthdayString();
			break;
		case 7:
			value = client.getCompany().getName();
			break;
		}

		return value;

	}

	public String getColumnName(int column) {
		
		return colNames[column];
	}

	public void setCategoryCompany(Category category, Company company){
		this.category = category ;
		this.company = company;
		
		fireTableDataChanged();
	}

	public Client getClient(int rowIndex) {
		if(service == null)
			return null;
		
		try {
			return service.findClient(category, company, rowIndex);
		} catch (ServiceException e) {
			e.printStackTrace();
			Util.error("服务异常"+e.getMessage());
		}
		
		return null;
	}

	public void companyAdded(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void companyChanged(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void companyRemoved(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void categoryAdded(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void categoryChanged(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void categoryRemoved(CRMServiceEvent event) {
		// TODO 自动生成方法存根
		
	}

	public void clientAdded(CRMServiceEvent event) {
		
		fireTableDataChanged();
		
	}

	public void clientChanged(CRMServiceEvent event) {
		fireTableDataChanged();
		
	}

	public void clientRemoved(CRMServiceEvent event) {
		fireTableDataChanged();
		
	}
	
	
	
}

⌨️ 快捷键说明

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