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

📄 employeetablemodel.java

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

import javax.swing.JTable;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;

import com.boyang.sme.swingx.data.Page;
import com.boyang.sme.swingx.data.Row;
import com.boyang.sme.swingx.model.XAbstractTableModel;
import com.boyang.utils.StringUtils;

public class EmployeeTableModel extends XAbstractTableModel {

	String headerNames[] = { 
			new String("序号"), 
			new String("名称"),
			new String("性别"), 
			new String("年龄"), 
			new String("职位"),
			new String("国家")};

	public String columnNames[] = { "no", "name", "sex", "age",
			"position", "country" };

	public int headerwidths[] = { 50, 150, 80, 80, 150, 150 };

	public String[] getColumnNames() {
		return columnNames;
	}

	public void setColunModelHeaders(JTable table) {
		TableColumnModel model = table.getColumnModel();
		for (int i = 0; i < model.getColumnCount(); i++) {
			TableColumn column = model.getColumn(i);
			column.setHeaderValue(headerNames[i]);
			column.setPreferredWidth(headerwidths[i]);
		}
	}

	public int[] filterSort() {
		return (new int[] { 0 });
	}

	public int getRowCount() {
		if (data == null) {
			return 0;
		} else {
			return data.length;
		}
	}

	public int getColumnCount() {
		return headerNames.length;
	}

	public boolean isCellEditable(int row, int col) {
		return false;
	}

	public Object getValueAt(int row, int col) {
		return data[row][col];
	}

	public void setValueAt(Object value, int row, int col) {
		data[row][col] = value;
		fireTableCellUpdated(row, col);
	}

	public void addPage(Page page) {
		if (page != null) {
			Object datasrc[][] = new Object[page.length()][headerNames.length + 1];
			for (int itemIndex = 0; itemIndex < datasrc.length; itemIndex++) {
				Row row = page.get(itemIndex);
				datasrc[itemIndex][0] = new Integer(itemIndex + 1); // 序号
				datasrc[itemIndex][1] = StringUtils.toString(row.get("name")); 
				datasrc[itemIndex][2] = StringUtils.toString(row.get("sex")); 
				datasrc[itemIndex][3] = StringUtils.toString(row.get("age")); 
				datasrc[itemIndex][4] = StringUtils.toString(row.get("position")); 
				datasrc[itemIndex][5] = StringUtils.toString(row.get("country"));
				datasrc[itemIndex][6] = StringUtils.toString(row.get("id")); 
			}

			data = datasrc;
			setPage(page);
			fireTableDataChanged();
		}
	}

	public void saveEditValue() {
		for (int i = 0; i < page.length(); i++) {
			Row row = page.get(i);
			for (int j = 1; j < getColumnCount(); j++) {
				row.set(columnNames[j], data[i][j].toString());
			}
		}
	}

	public void clearAll() {
		data = new Object[0][];
		fireTableDataChanged();
	}
}

⌨️ 快捷键说明

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