?? clienttablemodel.java
字號(hào):
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 = {"姓名", "移動(dòng)電話", "電話", "E-mail", "QQ", "性別", "生日", "公司" };
public ClientTableModel() {
super();
try {
service = ServiceHandeler.getInstance().getService();
service.addCRMServiceObserver(this);
} catch (ConfigException e) {
e.printStackTrace();
Util.error("系統(tǒng)配置錯(cuò)誤"+e.getMessage());
} catch (InstanceExeption e) {
e.printStackTrace();
Util.error("不能實(shí)例化服務(wù)"+e.getMessage());
} catch (ServiceException e) {
e.printStackTrace();
Util.error("服務(wù)異常"+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("服務(wù)異常"+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("服務(wù)異常"+e.getMessage());
}
return null;
}
public void companyAdded(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void companyChanged(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void companyRemoved(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void categoryAdded(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void categoryChanged(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void categoryRemoved(CRMServiceEvent event) {
// TODO 自動(dòng)生成方法存根
}
public void clientAdded(CRMServiceEvent event) {
fireTableDataChanged();
}
public void clientChanged(CRMServiceEvent event) {
fireTableDataChanged();
}
public void clientRemoved(CRMServiceEvent event) {
fireTableDataChanged();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -