📄 usertablemodel.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 + -