📄 userpanel.java
字号:
package jp.co.ntl.swing.ext.user.user;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import java.util.Calendar;
import java.sql.Timestamp;
import javax.swing.JApplet;
import javax.swing.JButton;
///import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JPopupMenu;
import javax.swing.JTable;
import javax.swing.JScrollPane;
import javax.swing.JOptionPane;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionListener;
import javax.swing.event.ListSelectionEvent;
import jp.co.ntl.ActionEventConstants;
import jp.co.ntl.Net;
import jp.co.ntl.Page;
import jp.co.ntl.Util;
import jp.co.ntl.NetworkException;
import jp.co.ntl.ServerException;
import jp.co.ntl.TimeOutException;
///import jp.co.ntl.awt.event.ChangeEvent;
import jp.co.ntl.awt.event.ChangeListener;
import jp.co.ntl.awt.event.ChangeSupport;
import jp.co.ntl.swing.BasePanel;
import jp.co.ntl.swing.TableSorter;
///import jp.co.ntl.swing.ext.CSVFileFilter;
import jp.co.ntl.swing.ext.DialogManager;
import jp.co.ntl.swing.ext.MsgUtil;
import jp.co.ntl.swing.ext.user.group.GroupInfoInvoker;
import jp.co.ntl.swing.ext.user.limitprint.LimitPrintInfoInvoker;
import jp.co.ntl.swing.ext.user.privilege.PrivilegeInfoInvoker;
import jp.co.ntl.swing.ext.user.user.UserInfoInvoker;
import jp.co.ntl.swing.ext.user.user.UserInfoPanel;
import jp.co.ntl.swing.ext.user.user.UserTableModel;
import jp.co.ntl.preference.PreferenceInfo;
import jp.co.ntl.user.UserInfo2;
import jp.co.ntl.spkey.SPKeyInfo;
///import jp.co.ntl.user.PrivilegeInfo;
public class UserPanel extends BasePanel implements ActionListener, ListSelectionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private JTable tblUser;
private UserTableModel mdlUser;
private ListSelectionModel mdlUserSelect;
private JScrollPane scrUser;
private JButton btnRegister;
private JButton btnModify;
private JButton btnDelete;
/// private JButton btnMultiRegister;
private JButton btnRefresh;
private JMenuItem menuModify;
private JMenuItem menuDelete;
private JMenuItem menuClearNumPrintedCache;
private JMenuItem menuOverPrintAllowed;
private JMenuItem menuOverPrintDenied;
private Vector vcUserInfo;
private Vector vcGroupInfo;
private Vector vcPrInfo;
private Vector vcLpInfo;
private UserInfoInvoker invoker;
private TableSorter sorter;
private Object currentKeyInfo = null;
private PreferenceInfo prefInfo;
private ChangeSupport changeSupport = new ChangeSupport();
public UserPanel(JFrame parent, Net net) {
super(parent, net);
}
public UserPanel(JApplet appl, Net net) {
super(appl, net);
}
protected void buildComponents() {
Resource.load(loc);
prefInfo = Util.getPreferenceInfo();
Page.initialize(net);
invoker = UserInfoInvoker.getInstance(net);
createPopupMenu();
vcGroupInfo = new Vector();
vcUserInfo = new Vector();
mdlUser = new UserTableModel(vcUserInfo);
sorter = new TableSorter(mdlUser);
tblUser = new JTable(sorter);
sorter.setTableHeader(tblUser.getTableHeader());
scrUser = new JScrollPane(tblUser);
add(scrUser, BorderLayout.CENTER);
tblUser.getTableHeader().setReorderingAllowed(false);
btnRegister = new JButton(Resource.getString(Resource.REGISTER));
btnModify = new JButton(Resource.getString(Resource.MODIFY));
btnDelete = new JButton(Resource.getString(Resource.DELETE));
/// btnMultiRegister = new JButton(Resource.getString(Resource.MULTI_REGISTER));
btnRefresh = new JButton(Resource.getString(Resource.REFRESH));
addButtonPanel(
new JButton[] {btnRegister, btnModify, btnDelete/*, btnMultiRegister*/, btnRefresh},
new String[] {
Resource.getString(Resource.TIP_REGISTER),
Resource.getString(Resource.TIP_MODIFY),
Resource.getString(Resource.TIP_DELETE),
/// Resource.getString(Resource.TIP_MULTI_REGISTER),
Resource.getString(Resource.TIP_REFRESH)
});
btnRegister.addActionListener(this);
btnModify.addActionListener(this);
btnDelete.addActionListener(this);
/// btnMultiRegister.addActionListener(this);
btnRefresh.addActionListener(this);
mdlUserSelect = tblUser.getSelectionModel();
mdlUserSelect.addListSelectionListener(this);
mdlUserSelect.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
setButtonState(false, null);
tblUser.setColumnSelectionAllowed(false);
tblUser.addMouseListener(this);
}
private void createPopupMenu() {
popupMenu = new JPopupMenu();
menuModify = new JMenuItem(Resource.getString(Resource.MODIFY));
menuModify.addActionListener(this);
popupMenu.add(menuModify);
menuDelete = new JMenuItem(Resource.getString(Resource.DELETE));
menuDelete.addActionListener(this);
popupMenu.add(menuDelete);
menuClearNumPrintedCache = new JMenuItem(Resource.getString(Resource.CLEAR_PRINTED_CACHE));
menuClearNumPrintedCache.addActionListener(this);
popupMenu.add(menuClearNumPrintedCache);
JMenu menuParent = new JMenu(Resource.getString(Resource.LIST_OVERPRINT));
menuOverPrintAllowed = new JCheckBoxMenuItem(Resource.getString(Resource.OVERPRINT_ALLOWED));
menuOverPrintDenied = new JCheckBoxMenuItem(Resource.getString(Resource.OVERPRINT_DENIED));
if (prefInfo.getVender().equals(PreferenceInfo.VENDER_METRO)) {
menuOverPrintAllowed.addActionListener(this);
menuParent.add(menuOverPrintAllowed);
menuOverPrintDenied.addActionListener(this);
menuParent.add(menuOverPrintDenied);
popupMenu.add(menuParent);
}
}
public void beginPanel() throws NetworkException, ServerException, TimeOutException {
doRefresh();
}
public void setCurrentKeyInfo(Object info) {
this.currentKeyInfo = info;
}
private void setButtonState(boolean b, int[] selViewRows) {
if (selViewRows != null && selViewRows.length <= 1) {
btnModify.setEnabled(b);
} else {
btnModify.setEnabled(false);
}
if (selViewRows != null && selViewRows.length >= 1) {
boolean foundAdmin = false;
for (int i = 0; i < selViewRows.length; i++) {
int selRow = sorter.modelIndex(selViewRows[i]);
if (selRow >= 0) {
UserInfo2 userInfo = (UserInfo2)mdlUser.getSelectedInfo(selRow);
if (userInfo != null && userInfo.isAdminUser()) {
foundAdmin = true;
break;
}
}
}
if (foundAdmin) {
btnDelete.setEnabled(false);
} else {
btnDelete.setEnabled(b);
}
} else {
btnDelete.setEnabled(b);
}
}
protected void setPopupMenuState() {
int[] selViewRows = tblUser.getSelectedRows();
if (selViewRows.length > 1) {
menuModify.setEnabled(false);
} else {
menuModify.setEnabled(true);
}
boolean foundAdmin = false;
for (int i = 0; i < selViewRows.length; i++) {
int selRow = sorter.modelIndex(selViewRows[i]);
if (selRow >= 0) {
UserInfo2 userInfo = (UserInfo2)mdlUser.getSelectedInfo(selRow);
if (userInfo != null && userInfo.isAdminUser()) {
foundAdmin = true;
break;
}
}
}
if (foundAdmin) {
menuDelete.setEnabled(false);
} else {
menuDelete.setEnabled(true);
}
if (selViewRows.length == 1) {
menuOverPrintAllowed.setEnabled(true);
menuOverPrintDenied.setEnabled(true);
int selRow = sorter.modelIndex(selViewRows[0]);
if (selRow >= 0) {
UserInfo2 userInfo = (UserInfo2)mdlUser.getSelectedInfo(selRow);
if (userInfo != null) {
menuOverPrintAllowed.setSelected(userInfo.isOverPrint());
menuOverPrintDenied.setSelected(!userInfo.isOverPrint());
}
}
} else {
menuOverPrintAllowed.setEnabled(false);
menuOverPrintDenied.setEnabled(false);
}
}
private boolean getUserInfo() throws NetworkException, ServerException, TimeOutException {
Vector vcUserInfo = null;
vcUserInfo = invoker.getUserInfo();
mdlUser.addInfos(vcUserInfo);
return true;
}
private boolean getInstalledGroupInfo() throws NetworkException, ServerException, TimeOutException {
GroupInfoInvoker gi = GroupInfoInvoker.getInstance(net);
vcGroupInfo = gi.getGroupInfo();
return true;
}
private boolean getPrivilegeInfo() throws NetworkException, ServerException, TimeOutException {
PrivilegeInfoInvoker prInfoInvoker = PrivilegeInfoInvoker.getInstance(net);
vcPrInfo = prInfoInvoker.getPrivilegeInfo();
return true;
}
private boolean getLimitPrintInfo() throws NetworkException, ServerException, TimeOutException {
LimitPrintInfoInvoker lpInfoInvoker = LimitPrintInfoInvoker.getInstance(net);
vcLpInfo = lpInfoInvoker.getLimitPrintInfo();
return true;
}
protected boolean doRegister() throws NetworkException, ServerException, TimeOutException {
// 僌儖乕僾偑搊榐偝傟偰偄側偄
if (vcGroupInfo.size() == 0) {
DialogManager.showMessage(this, DialogManager.ERROR_NOT_REGISTER_GROUP);
return false;
}
UserInfo2 userInfo = new UserInfo2();
UserInfoPanel userPanel = new UserInfoPanel(
false, userInfo, vcUserInfo, vcGroupInfo, vcPrInfo, vcLpInfo);
if (DialogManager.showCustomDialog(
this,
Resource.getString(Resource.USERINFO_TITLE),
userPanel) == UserInfoPanel.OK_BUTTON) {
Calendar cal = Calendar.getInstance();
Timestamp ts = new Timestamp(cal.getTimeInMillis());
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -