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

📄 spkeyregisterpanel.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 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 + -