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

📄 recordoperatepanel.java

📁 java swing 开发的一些实例
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package com.mwq.frame.personnel;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Method;
import java.net.URL;
import java.sql.Date;
import java.util.Enumeration;
import java.util.Iterator;

import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.border.TitledBorder;
import javax.swing.filechooser.FileFilter;

import com.mwq.frame.common.DeptTreeDialog;
import com.mwq.hibernate.Dao;
import com.mwq.hibernate.HibernateSessionFactory;
import com.mwq.hibernate.mapping.TbAccessionForm;
import com.mwq.hibernate.mapping.TbDept;
import com.mwq.hibernate.mapping.TbDuty;
import com.mwq.hibernate.mapping.TbDutyInfo;
import com.mwq.hibernate.mapping.TbNation;
import com.mwq.hibernate.mapping.TbNativePlace;
import com.mwq.hibernate.mapping.TbPersonalInfo;
import com.mwq.hibernate.mapping.TbRecord;
import com.mwq.tool.Today;

public class RecordOperatePanel extends JPanel {

	private JTextField deptTextField;

	private JComboBox accessionFormComboBox;

	private JComboBox dutyComboBox;

	private ButtonGroup partyMemberButtonGroup = new ButtonGroup();

	private ButtonGroup marriagedButtonGroup = new ButtonGroup();

	private ButtonGroup sexButtonGroup = new ButtonGroup();

	private JComboBox schoolageComboBox;

	private JComboBox nativePlaceComboBox;

	private JComboBox nationComboBox;

	private JTextField accumulationFundNOTextField;

	private JTextField annuitySafetyNOTextField;

	private JTextField pactEndDateTextField;

	private JTextField dimissionReasonTextField;

	private JTextField compoSafetyNOTextField;

	private JTextField doleSafetyNOTextField;

	private JTextField medicareSafetyNOTextField;

	private JTextField societySafetyNOTextField;

	private JTextField pactAgeTextField;

	private JTextField bankNOTextField;

	private JTextField pactStartDateTextField;

	private JTextField dimissionDateTextField;

	private JTextField bankNameTextField;

	private JTextField firstPactDateTextField;

	private JTextField accessionDateTextField;

	private JTextField homeAddressTextField;

	private JTextField onesStrongSuitTextField;

	private JTextField likeTextField;

	private JTextField homePostalcodeTextField;

	private JTextField partyMemberDateTextField;

	private JTextField graduateSchoolTextField;

	private JTextField graduateDateTextField;

	private JTextField secondSpecialtyTextField;

	private JTextField secondSchoolageTextField;

	private JTextField computerTextField;

	private JTextField emailTextField;

	private JTextField qqTextField;

	private JTextField telephoneTextField;

	private JTextField handsetTextField;

	private JTextField addressTextField;

	private JTextField postalcodeTextField;

	private JTextField gradeTextField;

	private JTextField specialtyTextField;

	private JTextField foreignLanguageTextField;

	private JTextField idCardTextField;

	private JTextField partyMemberTextField;

	private JTextField birthdayTextField;

	private JTextField nameTextField;

	private JTextField recordNoTextField;

	private JLabel photoLabel;

	private Dao dao = Dao.getInstance();

	public static TbRecord UPDATE_RECORD = null;

	/**
	 * Create the panel
	 */
	public RecordOperatePanel(final JPanel rightPanel) {
		super();
		setLayout(new BorderLayout());

		final JPanel buttonPanel = new JPanel();
		buttonPanel.setBackground(Color.WHITE);
		add(buttonPanel, BorderLayout.NORTH);

		final JButton saveButton = new JButton();
		saveButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				// 获取档案信息
				TbRecord record = null;
				if (UPDATE_RECORD == null) {
					record = new TbRecord();
				} else {
					record = (TbRecord) dao.queryRecordByNum(recordNoTextField
							.getText());
				}
				record.setRecordNumber(recordNoTextField.getText());
				record.setName(nameTextField.getText());
				Enumeration<AbstractButton> sexElements = sexButtonGroup
						.getElements();
				while (sexElements.hasMoreElements()) {
					AbstractButton button = sexElements.nextElement();
					if (button.isSelected()) {
						record.setSex(button.getText());
						break;
					}
				}
				TbNation nation = (TbNation) dao
						.queryNationByName(nationComboBox.getSelectedItem()
								.toString());
				record.setTbNation(nation);
				TbNativePlace nativePlace = (TbNativePlace) dao
						.queryNativePlaceByName(nativePlaceComboBox
								.getSelectedItem().toString());
				record.setTbNativePlace(nativePlace);
				record.setIdCard(idCardTextField.getText());
				record.setSchoolAge(schoolageComboBox.getSelectedItem()
						.toString());
				record.setSpecialty(specialtyTextField.getText());

				Enumeration<AbstractButton> partyMembers = partyMemberButtonGroup
						.getElements();
				while (partyMembers.hasMoreElements()) {
					AbstractButton button = partyMembers.nextElement();
					if (button.isSelected()) {
						record.setPartyMember(button.getText().trim());
						break;
					}
				}

				record.setForeignLanguage(foreignLanguageTextField.getText());
				record.setGrade(gradeTextField.getText());
				Enumeration<AbstractButton> marriagedElements = marriagedButtonGroup
						.getElements();
				while (marriagedElements.hasMoreElements()) {
					AbstractButton button = marriagedElements.nextElement();
					if (button.isSelected()) {
						record.setMarriaged(button.getText());
						break;
					}
				}
				record.setPostalcode(postalcodeTextField.getText());
				record.setAddress(addressTextField.getText());

				// 验证档案信息
				Method[] methods = record.getClass().getMethods();
				String recordMethodNames[] = { "name", "sex", "tbNation",
						"tbNativePlace;", "idCard", " schoolAge", " specialty",
						" partyMember", " foreignLanguage", " grade",
						"marriaged", " postalcode", "address" };
				for (int i = 0; i < methods.length; i++) {
					String methodName = methods[i].getName();
					if (methodName.startsWith("get")) {
						for (int m = 0; m < recordMethodNames.length; m++) {
							if (methodName.substring(3).toLowerCase().equals(
									recordMethodNames[m].toLowerCase())) {
								Object object = null;
								try {
									object = methods[i].invoke(record, null);
								} catch (Exception e) {
									e.printStackTrace();
								}
								if (object == null) {
									System.out.println(methods[i].getName()
											+ "=" + object);
									JOptionPane.showMessageDialog(null,
											"除照片外,[档案信息]栏的其他项均不允许为空!", "友情提示",
											JOptionPane.WARNING_MESSAGE);
									return;
								}
							}
						}

					}
				}
				String myBirthday = birthdayTextField.getText();
				if (myBirthday.equals("YYYY-MM-DD")) {
					JOptionPane.showMessageDialog(null, "请输入出生日期!", "友情提示",
							JOptionPane.WARNING_MESSAGE);
					return;
				} else {
					try {
						Date birthday = Date.valueOf(myBirthday);
						record.setBirthday(birthday);
					} catch (RuntimeException e) {
						JOptionPane.showMessageDialog(null, "出生日期输入错误,请重新输入!",
								"友情提示", JOptionPane.WARNING_MESSAGE);
						return;
					}
				}

				// 保存图片
				if (photoLabel.getIcon() != null) {// 查看是否上传照片
					File selectPhoto = new File(photoLabel.getIcon().toString());// 通过选中图片的路径创建文件对象
					URL url = this.getClass().getResource("/personnel_photo/"); // 获得指定路径的绝对路径
					StringBuffer uriBuffer = new StringBuffer(url.toString());// 组织文件路径
					String selectPhotoName = selectPhoto.getName();
					int i = selectPhotoName.lastIndexOf(".");
					uriBuffer.append(recordNoTextField.getText());
					uriBuffer.append(selectPhotoName.substring(i));
					try {
						File photo = new File(new URL(uriBuffer.toString())
								.toURI());// 创建上传文件对象
						record.setPhoto(photo.getName());// 将图片名称保存到数据库
						if (!photo.exists()) {// 如果文件不存在则创建文件
							photo.createNewFile();
						}
						InputStream inStream = new FileInputStream(selectPhoto);// 创建输入流对象
						OutputStream outStream = new FileOutputStream(photo);// 创建输出流对象
						int readBytes = 0; // 读取字节数
						byte[] buffer = new byte[10240]; // 定义缓存数组
						while ((readBytes = inStream.read(buffer, 0, 10240)) != -1) { // 从输入流读取数据到缓存数组中
							outStream.write(buffer, 0, readBytes); // 将缓存数组中的数据输出到输出流
						}
						outStream.close();// 关闭输出流对象
						inStream.close();// 关闭输入流对象
					} catch (Exception e) {
						e.printStackTrace();
					}
				}

				// 获取个人信息
				TbPersonalInfo personalInfo = null;
				if (UPDATE_RECORD == null)
					personalInfo = new TbPersonalInfo();
				else
					personalInfo = record.getTbPersonalInfo();
				personalInfo.setHandset(handsetTextField.getText());
				personalInfo.setTelephone(telephoneTextField.getText());
				personalInfo.setQq(qqTextField.getText());
				personalInfo.setEMail(emailTextField.getText());
				personalInfo.setSecondSchoolAge(secondSchoolageTextField

⌨️ 快捷键说明

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