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

📄 grouptablemodel.java

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

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

import jp.co.ntl.group.GroupInfo;
import jp.co.ntl.limitprint.LimitPrintInfo;
import jp.co.ntl.swing.ext.AbstractInfoTableModel;

public class GroupTableModel extends AbstractInfoTableModel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private final String		columnGroupName;
	private final String		columnNumLimit;
	private final String		columnNumPrintedCache;
	private final String		columnNumPrintedTotal;
	
	public GroupTableModel(Vector vcGroupInfo) {
		super(vcGroupInfo);
		
		this.columnGroupName = Resource.getString(Resource.LIST_GROUPNAME);
		this.columnNumLimit = Resource.getString(Resource.LIST_LIMIT);
		this.columnNumPrintedCache = Resource.getString(Resource.LIST_NUM_PRINTED_CACHE);
		this.columnNumPrintedTotal = Resource.getString(Resource.LIST_NUM_PRINTED_TOTAL);
		columnNames = new String[] {
				this.columnGroupName,
				this.columnNumLimit,
				this.columnNumPrintedCache,
				this.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;
		}
		
		GroupInfo	groupInfo = (GroupInfo)vcInfo.get(row);
		String	name = columnNames[column];
		if (name.equals(columnGroupName)) {
			return groupInfo.getName();
		} else if (name.equals(columnNumLimit)) {
			switch (groupInfo.getNumLimit()) {
			case GroupInfo.NUM_LIMIT_NO_LIMIT:
				return Resource.getString(Resource.LIST_LIMIT_NONE);
			case GroupInfo.NUM_LIMIT_STOP:
				return Resource.getString(Resource.LIST_LIMIT_STOP);
			default:
				Object[]	obj = new Object[1];
				obj[0] = new Integer(groupInfo.getNumLimit());
				switch (groupInfo.getLimitPrintInfo().getLimitPeriod()) {
				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);
				}
				break;
			}
		} else if (name.equals(columnNumPrintedCache)) {
			return new Integer(groupInfo.getNumPrintedCache());
		} else if (name.equals(columnNumPrintedTotal)) {
			return new Integer(groupInfo.getNumPrintedTotal());
		}
		
		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(columnGroupName)) {
			return String.class;
		} else if (name.equals(columnNumLimit)) {
			return String.class;
		} else if (name.equals(columnNumPrintedCache)) {
			return Integer.class;
		} else if (name.equals(columnNumPrintedTotal)) {
			return Integer.class;
		}
		
		
		return String.class;
	}
}

⌨️ 快捷键说明

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