📄 spkeyregisterpanel.java
字号:
package jp.co.ntl.swing.ext.user.spkey;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;
import javax.swing.JApplet;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.SpringLayout;
import jp.co.ntl.Net;
import jp.co.ntl.Util;
import jp.co.ntl.NetworkException;
import jp.co.ntl.ServerException;
import jp.co.ntl.TimeOutException;
import jp.co.ntl.swing.BasePanel;
import jp.co.ntl.swing.SpringUtilities;
import jp.co.ntl.spkey.SPKeyInfo;
import jp.co.ntl.swing.ext.user.user.UserInfoInvoker;
import jp.co.ntl.user.UserInfo2;
import jp.co.ntl.swing.ext.DialogManager;
import jp.co.ntl.preference.PreferenceInfo;
public class SPKeyRegisterPanel extends BasePanel implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private SPKeyInfo spKeyInfo;
private Vector vcUserInfo;
private JLabel lblSerial;
private JTextField txtSerial;
private JLabel lblKind;
private JComboBox cmbKind;
private JLabel lblUserName;
private JComboBox cmbUserName;
private JButton btnRegister;
public SPKeyRegisterPanel(JFrame parent, Net net) {
super(parent, net);
}
public SPKeyRegisterPanel(JApplet app, Net net) {
super(app, net);
}
public void beginPanel() throws NetworkException, ServerException, TimeOutException {
beginPanel(new SPKeyInfo());
}
public void beginPanel(SPKeyInfo spKeyInfo) throws NetworkException, ServerException, TimeOutException {
setSPKeyInfo(spKeyInfo);
switch (Util.getPreferenceInfo().getAuthType()) {
case PreferenceInfo.AUTH_NET_FELICA:
case PreferenceInfo.AUTH_FELICA:
cmbKind.setSelectedIndex(1);
break;
default:
cmbKind.setSelectedIndex(0);
break;
}
UserInfoInvoker invoker = UserInfoInvoker.getInstance(net);
vcUserInfo = invoker.getUserInfo();
cmbUserName.removeAllItems();
// 儐乕僓偑搊榐偝傟偰偄側偄偲偒
if ((vcUserInfo.size() - 1) <= 0) {
btnRegister.setEnabled(false);
DialogManager.showMessage(this, DialogManager.ERROR_NOT_REGISTER_USER);
return;
}
for (int i = 0; i < vcUserInfo.size(); i++) {
UserInfo2 userInfo = (UserInfo2)vcUserInfo.elementAt(i);
if (!userInfo.isAdminUser()) {
cmbUserName.addItem(userInfo.getUserName());
}
}
}
public void buildComponents() {
JPanel panelMain = new JPanel();
panelMain.setLayout(new SpringLayout());
vcUserInfo = new Vector();
spKeyInfo = new SPKeyInfo();
Dimension size = new Dimension(250, 24);
lblSerial = new JLabel(Resource.getString(Resource.SPKEYINFO_SERIAL));
panelMain.add(lblSerial);
txtSerial = new JTextField();
txtSerial.setPreferredSize(size);
panelMain.add(txtSerial);
lblKind = new JLabel(Resource.getString(Resource.SPKEYINFO_KIND));
panelMain.add(lblKind);
String[] txt = new String[] {
Resource.getString(Resource.KIND_USB),
Resource.getString(Resource.KIND_FELICA),
/// Resource.getString(Resource.KIND_UNKNOWN)
};
cmbKind = new JComboBox(txt);
panelMain.add(cmbKind);
lblUserName = new JLabel(Resource.getString(Resource.SPKEYINFO_USERNAME));
panelMain.add(lblUserName);
cmbUserName = new JComboBox();
panelMain.add(cmbUserName);
// 儗僀傾僂僩挷惍偺偨傔丄僟儈乕傪捛壛偡傞
for (int i = 0; i < 48; i++) {
JLabel lblDummy = new JLabel("");
panelMain.add(lblDummy);
lblDummy = new JLabel("");
panelMain.add(lblDummy);
}
SpringUtilities.makeCompactGrid(panelMain, panelMain.getComponentCount() / 2, 2, 10, 10, 10, 10);
add(panelMain);
btnRegister = new JButton(Resource.getString(Resource.REGISTER));
addButtonPanel(
new JButton[] { btnRegister },
new String[] { Resource.getString(Resource.REGISTER) });
btnRegister.addActionListener(this);
}
protected boolean doRegister() throws NetworkException, ServerException, TimeOutException {
spKeyInfo.setSerial(txtSerial.getText());
spKeyInfo.setKeyKind(cmbKind.getSelectedIndex());
spKeyInfo.setUser((UserInfo2)vcUserInfo.elementAt(cmbUserName.getSelectedIndex() + 1));
spKeyInfo.setValidity(SPKeyInfo.VALIDITY_INVALIDITY);
SPKeyInfoInvoker invoker = SPKeyInfoInvoker.getInstance(net);
// 妱傝摉偰偨儐乕僓偼丄偡偱偵懠偺僉乕偵妱傝摉偰傜傟偰偄傞
Vector vcRegSPKeyInfo = invoker.getSPKeyInfoByUserName(spKeyInfo.getUser().getUserName(), spKeyInfo.getKeyKind(), 1);
Util.debugPrint("reg SPKey num = " + vcRegSPKeyInfo.size());
/* for (int i = 0; i < vcRegSPKeyInfo.size(); i++) {
SPKeyInfo keyInfo = (SPKeyInfo)vcRegSPKeyInfo.elementAt(i);
Util.debugPrint("key_id = " + keyInfo.getSerial());
Util.debugPrint("keyKind = " + keyInfo.getKeyKind());
Util.debugPrint("validity = " + keyInfo.getValidity());
Util.debugPrint("userName = " + keyInfo.getUser().getUserName());
}*/
if (vcRegSPKeyInfo.size() > 0) {
DialogManager.showMessage(this, DialogManager.ERROR_ALREADY_RELATED_USER);
return false;
}
invoker.addSPKey(spKeyInfo);
return true;
}
protected boolean doModify() throws NetworkException, ServerException, TimeOutException {
return true;
}
protected boolean doDelete() throws NetworkException, ServerException, TimeOutException {
return true;
}
public int getInfosFromServer() {
return GET_INFO_RESULT_NORMAL;
}
protected void setPopupMenuState() {
}
public void setSPKeyInfo(SPKeyInfo spKeyInfo) {
this.spKeyInfo = spKeyInfo;
txtSerial.setText(spKeyInfo.getSerial());
}
public SPKeyInfo getSPKeyInfo() {
return spKeyInfo;
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if (obj == btnRegister) {
try {
if (doRegister()) {
DialogManager.showMessage(this, DialogManager.MSG_KEY_REGISTERED_SUCCESS);
}
} catch (NetworkException ex) {
DialogManager.showMessage(this, DialogManager.ERROR_KEY_REGISTERED);
} catch (ServerException ex) {
DialogManager.showMessage(this, DialogManager.ERROR_KEY_REGISTERED);
} catch (TimeOutException ex) {
DialogManager.showMessage(this, DialogManager.ERROR_KEY_REGISTERED);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -