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

📄 userinfopanel.java

📁 打印管理程序,测试完全通过.windows开发环境.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
			numLimit.setEnabled(true);
			cmbLimitUnit.setEnabled(true);
		} else {
			numLimit.setEnabled(false);
			cmbLimitUnit.setEnabled(false);
		}
	}
	
	protected void setValuesToComponent() {
		preValue = userInfo.getUserName();
		txtUserName.setText(userInfo.getUserName());
		if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
			chkChgPassword.setSelected(false);
			txtPassword.setText("********");
			txtConfPassword.setText("********");
		}
		
		int	privID = userInfo.getPrivilegeInfo().getCategory();
		if (privID == PrivilegeInfo.PRIVILEGE_ADMIN) {
			cmbPrivilege.setSelectedIndex(IDX_PRIVILEGE_ADMIN);
		} else {
			cmbPrivilege.setSelectedIndex(IDX_PRIVILEGE_USER);
		}
		
		String	groupName = userInfo.getGroup().getName();
		cmbGroup.setSelectedItem(groupName);
		
		cmbLimitGroup.setSelectedIndex(userInfo.getLimitByGroup());
		
		for (int i = 0; i < vcLpInfo.size(); i++) {
			LimitPrintInfo	lpInfo = (LimitPrintInfo)vcLpInfo.elementAt(i);
			switch (lpInfo.getLimitPeriod()) {
			case LimitPrintInfo.PERIOD_MONTH:
				cmbLimitUnit.addItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_MONTH));
				break;
			case LimitPrintInfo.PERIOD_WEEK:
				cmbLimitUnit.addItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_WEEK));
				break;
			case LimitPrintInfo.PERIOD_DAY:
				cmbLimitUnit.addItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_DAY));
				break;
			}
		}
		
		if (userInfo.getNumLimit() == UserInfo2.NUM_LIMIT_NO_LIMIT) {
			cmbLimit.setSelectedIndex(IDX_LIMIT_NONE);
			numLimit.setText("");
			cmbLimitUnit.setSelectedIndex(0);
		} else if (userInfo.getNumLimit() == UserInfo2.NUM_LIMIT_STOP) {
			cmbLimit.setSelectedIndex(IDX_LIMIT_STOP);
			numLimit.setText("");
			cmbLimitUnit.setSelectedIndex(0);
		} else {
			cmbLimit.setSelectedIndex(IDX_LIMIT_NUM);
			numLimit.setValue(userInfo.getNumLimit());
			switch (userInfo.getLimitPrintInfo().getLimitPeriod()) {
			case LimitPrintInfo.PERIOD_MONTH:
				cmbLimitUnit.setSelectedItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_MONTH));
				break;
			case LimitPrintInfo.PERIOD_WEEK:
				cmbLimitUnit.setSelectedItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_WEEK));
				break;
			case LimitPrintInfo.PERIOD_DAY:
				cmbLimitUnit.setSelectedItem(Resource.getString(Resource.USERINFO_LIMIT_UNIT_DAY));
				break;
			default:
				cmbLimitUnit.setSelectedIndex(0);
				break;
			}
			
		}
		
		int	jobSaveTime = userInfo.getJobPeriod();
		if (jobSaveTime == UserInfo2.JOB_SAVE_TIME_NOT_USE) {
			chkJobSaveTime.setSelected(false);
			numJobSaveTime.setValue(0);
		} else {
			chkJobSaveTime.setSelected(true);
			numJobSaveTime.setValue(userInfo.getJobPeriod());
		}
		txtMailAddr.setText(userInfo.getEMail());
		txtTel.setText(userInfo.getTel());
		txtFamilyName.setText(userInfo.getFamilyName());
		txtFirstName.setText(userInfo.getFirstName());
		txtFamilyNameKana.setText(userInfo.getFamilyNameKana());
		txtFirstNameKana.setText(userInfo.getFirstNameKana());
		txtDept.setText(userInfo.getDept());
		
		if (prefInfo.getVender().equals(PreferenceInfo.VENDER_METRO)) {
			cmbOverPrint.setSelectedIndex(userInfo.isOverPrint() ? 0 : 1);
		}
		
		setItemState();
	}
	
	protected void setValuesFromComponent() {
		userInfo.setUserName(txtUserName.getText());
		if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
			if (chkChgPassword.isSelected()) {
				userInfo.setPassword(Util.makePassword(new String(txtPassword.getPassword())));
			}
		}
		
		int	index, category;
		index = cmbPrivilege.getSelectedIndex();
		if (index == IDX_PRIVILEGE_ADMIN) {
			category = PrivilegeInfo.PRIVILEGE_ADMIN;
		} else {
			category = PrivilegeInfo.PRIVILEGE_GENERAL;
		}
		for (int i = 0; i < vcPrInfo.size(); i++) {
			PrivilegeInfo	prInfo = (PrivilegeInfo)vcPrInfo.elementAt(i);
			if (prInfo.getCategory() == category) {
				userInfo.setPrivilegeInfo(prInfo);
				break;
			}
		}
		
		GroupInfo	groupInfo;
		index = cmbGroup.getSelectedIndex();
		groupInfo = (GroupInfo)vcGroupInfo.elementAt(index);
		userInfo.setGroup(groupInfo);
		
		userInfo.setLimitByGroup(cmbLimitGroup.getSelectedIndex());
		
		switch (cmbLimit.getSelectedIndex()) {
		case IDX_LIMIT_NONE:
			userInfo.setNumLimit(UserInfo2.NUM_LIMIT_NO_LIMIT);
			break;
		case IDX_LIMIT_STOP:
			userInfo.setNumLimit(UserInfo2.NUM_LIMIT_STOP);
			break;
		default:
			userInfo.setNumLimit(Integer.parseInt(numLimit.getText()));
			int	period = LimitPrintInfo.PERIOD_ID_IGNORE;
			String	selItem = (String)cmbLimitUnit.getSelectedItem();
			
			if (selItem.equals(Resource.getString(Resource.USERINFO_LIMIT_UNIT_MONTH))) {
				period = LimitPrintInfo.PERIOD_MONTH;
			} else if (selItem.equals(Resource.getString(Resource.USERINFO_LIMIT_UNIT_WEEK))) {
				period = LimitPrintInfo.PERIOD_WEEK;
			} else if (selItem.equals(Resource.getString(Resource.USERINFO_LIMIT_UNIT_DAY))) {
				period = LimitPrintInfo.PERIOD_DAY;
			}
			for (int i = 0; i < vcLpInfo.size(); i++) {
				LimitPrintInfo	lpInfo = (LimitPrintInfo)vcLpInfo.elementAt(i);
				if (lpInfo.getLimitPeriod() == period) {
					userInfo.setLimitPrintInfo(lpInfo);
					break;
				}
			}
			break;
		}
		
		if (chkJobSaveTime.isSelected()) {
			userInfo.setJobPeriod(numJobSaveTime.getIntValue());
		} else {
			userInfo.setJobPeriod(UserInfo2.JOB_SAVE_TIME_NOT_USE);
		}
		userInfo.setEMail(txtMailAddr.getText());
		userInfo.setTel(txtTel.getText());
		userInfo.setFamilyName(txtFamilyName.getText());
		userInfo.setFirstName(txtFirstName.getText());
		userInfo.setFamilyNameKana(txtFamilyNameKana.getText());
		userInfo.setFirstNameKana(txtFirstNameKana.getText());
		userInfo.setDept(txtDept.getText());
		
		if (prefInfo.getVender().equals(PreferenceInfo.VENDER_METRO)) {
			userInfo.setOverPrint(cmbOverPrint.getSelectedIndex() != 0 ? false : true);
		}
	}
	
	protected boolean checkValues() {
		CheckUtil	chk;
		
		String		userName = txtUserName.getText();
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_USER), this);
			
		if (!userInfo.isAdminUser()) {
			// 儐乕僓柤偑枹擖椡偺偲偒
			if (chk.isNull(userName)) {
				return false;
			}

			// 儐乕僓柤偺挿偝僠僃僢僋
			if (chk.isLengthOver(userName, UserInfo2.MAX_USER_NAME_LEN)) {
				return false;
			}
			
			// 儐乕僓柤偵巊梡偱偒側偄暥帤偑擖椡偝傟偰偄傞偲偒
			if (chk.isValidateChar(userName)) {
				return false;
			}
			
			// 儐乕僓柤偑偡偱偵搊榐嵪傒偺偲偒
			if (!modify || (modify && !preValue.equals(userName))) {
				for (int i = 0; i < vcUserInfo.size(); i++) {
					UserInfo2	userInfo = (UserInfo2)vcUserInfo.elementAt(i);
					if (chk.isAlreadyRegitered(userName, userInfo.getUserName())) {
						return false;
					}
				}
			}
		
			if (cmbLimit.getSelectedIndex() == IDX_LIMIT_NUM) {
				// 惂尷枃悢偑枹擖椡偺偲偒
				chk = new CheckUtil(Resource.getString(Resource.USERINFO_LIMIT), this);
				String	limit = numLimit.getText();
				if (chk.isNull(limit)) {
					return false;
				}
			
				// 惂尷枃悢傪敾掕
				int		limitVal = Integer.parseInt(limit);
				if (chk.isRangeOver(limitVal, UserInfo2.MIN_LIMIT, UserInfo2.MAX_LIMIT)) {
					return false;
				}
			}
		
			// Job曐懚帪娫傪敾掕
			if (chkJobSaveTime.isSelected()) {
				chk = new CheckUtil(Resource.getString(Resource.USERINFO_JOB_SAVE_TIME), this);
				if (chk.isRangeOver(numJobSaveTime.getIntValue(), UserInfo2.MIN_JOB_SAVE_TIME, UserInfo2.MAX_JOB_SAVE_TIME)) {
					return false;
				}
			}
		}
		
		// 僷僗儚乕僪僠僃僢僋
		if (Util.getPreferenceInfo().getAuthType() == PreferenceInfo.AUTH_LOGIN) {
			if (chkChgPassword.isSelected()) {
				String	pass = new String(txtPassword.getPassword());
				String	confPass = new String(txtConfPassword.getPassword());
				
				// 怴僷僗儚乕僪偺挿偝僠僃僢僋
				chk = new CheckUtil(Resource.getString(Resource.USERINFO_PASSWORD), this);
				if (chk.isLengthOver(pass, UserInfo2.MAX_PASSWORD_LEN)) {
					return false;
				}
				
				// 妋擣擖椡僷僗儚乕僪偺挿偝僠僃僢僋
				chk = new CheckUtil(Resource.getString(Resource.USERINFO_CONF_PASSWORD), this);
				if (chk.isLengthOver(confPass, UserInfo2.MAX_PASSWORD_LEN)) {
					return false;
				}
				
				// 妋擣擖椡偲堦抳偟側偄
				if (!pass.equals(confPass)) {
					DialogManager.showMessage(this, DialogManager.ERROR_UNMATCH_CONFIRM_PASSWORD);
					return false;
				}
			}
		}
		
		// 儊乕儖傾僪儗僗偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_MAILADDR), this);
		if (chk.isLengthOver(txtMailAddr.getText(), UserInfo2.MAX_MAILADDRESS_LEN)) {
			return false;
		}
		
		// 儊乕儖傾僪儗僗偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtMailAddr.getText())) {
			return false;
		}
		
		// 揹榖斣崋偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_TEL), this);
		if (chk.isLengthOver(txtTel.getText(), UserInfo2.MAX_TEL_LEN)) {
			return false;
		}
		
		// 揹榖斣崋偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtTel.getText())) {
			return false;
		}
		
		// 昪帤偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_FAMILYNAME), this);
		if (chk.isLengthOver(txtFamilyName.getText(), UserInfo2.MAX_FAMILY_NAME_LEN)) {
			return false;
		}
		
		// 昪帤偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtFamilyName.getText())) {
			return false;
		}
		
		// 柤慜偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_FIRSTNAME), this);
		if (chk.isLengthOver(txtFirstName.getText(), UserInfo2.MAX_FIRST_NAME_LEN)) {
			return false;
		}
		
		// 柤慜偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtFirstName.getText())) {
			return false;
		}
		
		// 昪帤乮僇僫乯偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_FAMILYNAME_KANA), this);
		if (chk.isLengthOver(txtFamilyNameKana.getText(), UserInfo2.MAX_FAMILY_NAME_KANA_LEN)) {
			return false;
		}
		
		// 昪帤乮僇僫乯偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtFamilyNameKana.getText())) {
			return false;
		}
		
		// 柤慜乮僇僫乯偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_FIRSTNAME_KANA), this);
		if (chk.isLengthOver(txtFirstNameKana.getText(), UserInfo2.MAX_FIRST_NAME_KANA_LEN)) {
			return false;
		}
		
		// 柤慜乮僇僫乯偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtFirstNameKana.getText())) {
			return false;
		}
		
		// 強懏偺挿偝僠僃僢僋
		chk = new CheckUtil(Resource.getString(Resource.USERINFO_DEPT), this);
		if (chk.isLengthOver(txtDept.getText(), UserInfo2.MAX_DEPT_LEN)) {
			return false;
		}
		
		// 強懏偵巊梡偱偒側偄暥帤楍偑擖椡偝傟偰偄傞偲偒
		if (chk.isValidateChar(txtDept.getText())) {
			return false;
		}
		
		return true;
	}
	
	public JButton[] getButtons() {
		if (clientKind == PreferenceInfo.CLIENT_MAC) {
			return new JButton[] {
					new JButton(Resource.getString(Resource.USERINFO_CANCEL)),
					new JButton(Resource.getString(Resource.USERINFO_OK))
			};
		} else {
			return new JButton[] {
					new JButton(Resource.getString(Resource.USERINFO_OK)),
					new JButton(Resource.getString(Resource.USERINFO_CANCEL))
			};
		}
	}
	
	public void actionPerformed(ActionEvent e) {
		Object	obj = e.getSource();
		if (obj == cmbLimit) {
			setLimitState();
		} else if (obj == cmbLimitGroup) {
			setLimitState();
		} else if (chkChgPassword != null && obj == chkChgPassword) {
			setPasswordState();
		} else if (obj == chkJobSaveTime) {
			setJobSaveTimeState();
		}
	}
}

⌨️ 快捷键说明

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