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

📄 usertablemodel.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 JAVA
字号:
package jp.co.ntl.swing.ext.user.user;

import java.text.MessageFormat;
import java.util.Vector;

import jp.co.ntl.Util;
import jp.co.ntl.user.UserInfo2;
import jp.co.ntl.limitprint.LimitPrintInfo;
import jp.co.ntl.privilege.PrivilegeInfo;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.swing.ext.AbstractInfoTableModel;

public class UserTableModel extends AbstractInfoTableModel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private final String		columnUser;
	private final String		columnGroup;
	private final String		columnLimit;
	private final String		columnName;
	private final String		columnKind;
	private final String		columnNumPrintedCache;
	private final String		columnNumPrintedTotal;
	private final String		columnOverPrintCache;
	private final String		columnOverPrint;
	
	private PreferenceInfo		prefInfo;
	
	public UserTableModel(Vector vcUserInfo) {
		super(vcUserInfo);
		
		prefInfo = Util.getPreferenceInfo();
		
		this.columnUser = Resource.getString(Resource.LIST_USER);
		this.columnGroup = Resource.getString(Resource.LIST_GROUP);
		this.columnLimit = Resource.getString(Resource.LIST_LIMIT);
		this.columnKind = Resource.getString(Resource.LIST_KIND);
		this.columnName = Resource.getString(Resource.LIST_NAME);
		this.columnNumPrintedCache = Resource.getString(Resource.LIST_NUM_PRINTED_CACHE);
		this.columnNumPrintedTotal = Resource.getString(Resource.LIST_NUM_PRINTED_TOTAL);
		this.columnOverPrint = Resource.getString(Resource.LIST_OVERPRINT);
		this.columnOverPrintCache = Resource.getString(Resource.LIST_OVERPRINT_CACHE);
		
		if (prefInfo.getVender().equals(PreferenceInfo.VENDER_METRO)) {
			this.columnNames = new String[] {
					columnUser,
					columnGroup,
					columnKind,
					columnName,
					columnLimit,
					columnNumPrintedCache,
					columnNumPrintedTotal,
					columnOverPrint,
					columnOverPrintCache
			};
		} else {
			this.columnNames = new String[] {
					columnUser,
					columnGroup,
					columnKind,
					columnName,
					columnLimit,
					columnNumPrintedCache,
					columnNumPrintedTotal
			};
		}
	}
	
	public Object getValueAt(int row, int column) {
		if (vcInfo == null) {
			return null;
		}
		
		if (row >= vcInfo.size()) {
			return null;
		}
		
		if (column >= columnNames.length) {
			return null;
		}

		UserInfo2	userInfo = (UserInfo2)vcInfo.get(row);
		String	name = columnNames[column];
		if (name.equals(columnUser)) {
			return userInfo.getUserName();
		} else if (name.equals(columnGroup)) {
			return userInfo.getGroup().getName();
		} else if (name.equals(columnLimit)) {
			int			limitPeriod;
			int			unit;
			
			
			if (userInfo.getLimitByGroup() == UserInfo2.LIMIT_BY_USER) {
				limitPeriod = userInfo.getNumLimit();
				unit = userInfo.getLimitPrintInfo().getLimitPeriod();
			} else {
				limitPeriod = userInfo.getGroup().getNumLimit();
				unit = userInfo.getGroup().getLimitPrintInfo().getLimitPeriod();
			}
			
			if (limitPeriod > 0) {
				Object[]	obj = new Object[] {new Integer(limitPeriod)};
		
				switch (unit) {
				case LimitPrintInfo.PERIOD_MONTH:
					return MessageFormat.format(Resource.getString(Resource.LIST_LIMIT_MONTH), obj);
				case LimitPrintInfo.PERIOD_WEEK:
					return MessageFormat.format(Resource.getString(Resource.LIST_LIMIT_WEEK), obj);
				case LimitPrintInfo.PERIOD_DAY:
					return MessageFormat.format(Resource.getString(Resource.LIST_LIMIT_DAY), obj);
				}
			} else if (limitPeriod == 0) {
				return Resource.getString(Resource.LIST_LIMIT_STOP);
			} else {
				return Resource.getString(Resource.LIST_LIMIT_NONE);
			}
		} else if (name.equals(columnKind)) {
			return (userInfo.getPrivilegeInfo().getCategory() == PrivilegeInfo.PRIVILEGE_ADMIN ?
					Resource.getString(Resource.LIST_KIND_ADMIN) :
					Resource.getString(Resource.LIST_KIND_USER));
		} else if (name.equals(columnName)) {
			return userInfo.getFamilyName() + " "  + userInfo.getFirstName();
		} else if (name.equals(columnNumPrintedCache)) {
			return new Integer(userInfo.getNumPrintedCache());
		} else if (name.equals(columnNumPrintedTotal)) {
			return new Integer(userInfo.getNumPrintedTotal());
		} else if (name.equals(columnOverPrintCache)) {
			return new Integer(userInfo.getNumOverPrintCache());
		} else if (name.equals(columnOverPrint)) {
			return userInfo.isOverPrint() ? Resource.getString(Resource.OVERPRINT_ALLOWED) : Resource.getString(Resource.OVERPRINT_DENIED);
		}
		
		return "";
	}
	
	public Class getColumnClass(int column) {
		if (columnNames == null) {
			return String.class;
		}
		if (column >= columnNames.length) {
			return String.class;
		}
		String name = columnNames[column];
		if (name.equals(columnUser)) {
			return String.class;
		} else if (name.equals(columnGroup)) {
			return String.class;
		} else if (name.equals(columnLimit)) {
			return String.class;
		} else if (name.equals(columnKind)) {
			return String.class;
		} else if (name.equals(columnName)) {
			return String.class;
		} else if (name.equals(columnNumPrintedCache)) {
			return Integer.class;
		} else if (name.equals(columnNumPrintedTotal)) {
			return Integer.class;
		} else if (name.equals(columnOverPrintCache)) {
			return Integer.class;
		} else if (name.equals(columnOverPrint)) {
			return String.class;
		}
		
		return String.class;
	}
}

⌨️ 快捷键说明

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