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

📄 editframe.java

📁 学生资料管理系统 基于c/s模式开发 用户可以运行用户端登陆服务器 然后通过客户端来进行服务器端的数据库操作
💻 JAVA
字号:
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;

import javax.swing.JTextField;


/**
 * author sunringove
 * data 2007-01-17
 * 社团成员资料编辑窗口
 */
public class EditFrame extends JFrame implements ActionListener,WindowListener{

	private static final long serialVersionUID = 1L;
		
	private JTextField nameField=new JTextField();
	private JTextField IDField=new JTextField();
	private JTextField genderField=new JTextField();
	private JTextField yearField=new JTextField();
	private JTextField majorField=new JTextField();
	private JTextField departmentField=new JTextField();
	private JTextField leagueField=new JTextField();
	private JTextField etimeField=new JTextField();
	private JTextField qtimeField=new JTextField();
	private JLabel nameLabel=new JLabel("姓名 (不能超过4个中文字符)*");
	private JLabel IDLabel=new JLabel("学号 (11位的数字)*");
	private JLabel genderLabel=new JLabel("性别 (男 or 女)*");
	private JLabel yearLabel=new JLabel("入学年份 (例如: 2004)*");
	private JLabel majorLabel=new JLabel("专业 (例如: 软件学院)*");
	private JLabel departmentLabel=new JLabel("系别 (例如: 软件工程)*");
	private JLabel leagueLabel=new JLabel("所在社团 (例如: 魔兽社)*");
	private JLabel etimeLabel=new JLabel("加入时间 (例如: 2004-11-25)*");
	private JLabel qtimeLabel=new JLabel("退出时间 (例如: 2006-11-25)");
	private JButton comfirmButton=new JButton("确定");
	private JButton cancelButton=new JButton("取消");
	public Member member;
	public Member[] members;
	public boolean hasActive;
	public boolean isAdd;
	public FrameOperator frameOperator;
	
		
	public EditFrame(ManagerFrame managerFrame) {
		
		frameOperator=new FrameOperator(managerFrame);
		
		getContentPane().setLayout(new GridLayout(10,2));
		setSize(400,400);
		setLocation(60,70);
		setTitle("sunringove");
		setResizable(false);
		
		getContentPane().add(nameLabel);
		getContentPane().add(nameField);
		getContentPane().add(IDLabel);
		getContentPane().add(IDField);
		getContentPane().add(genderLabel);
		getContentPane().add(genderField);
		getContentPane().add(yearLabel);
		getContentPane().add(yearField);
		getContentPane().add(majorLabel);
		getContentPane().add(majorField);
		getContentPane().add(departmentLabel);
		getContentPane().add(departmentField);
		getContentPane().add(leagueLabel);
		getContentPane().add(leagueField);
		getContentPane().add(etimeLabel);
		getContentPane().add(etimeField);
		getContentPane().add(qtimeLabel);
		getContentPane().add(qtimeField);
		getContentPane().add(comfirmButton);
		getContentPane().add(cancelButton);
		
		JMenuBar menuBar=new JMenuBar();
		JMenu file=new JMenu("File");
		JMenuItem item1,item2;
		item1=new JMenuItem("确定");
		file.add(item1);
		file.addSeparator();
		item2=new JMenuItem("取消");
		file.add(item2);
				
		menuBar.add(file);
						
		setJMenuBar(menuBar);
	
		nameField.addActionListener(this);
		IDField.addActionListener(this);
		genderField.addActionListener(this);
		yearField.addActionListener(this);
		majorField.addActionListener(this);
		departmentField.addActionListener(this);
		leagueField.addActionListener(this);
		etimeField.addActionListener(this);
		qtimeField.addActionListener(this);
		comfirmButton.addActionListener(this);
		cancelButton.addActionListener(this);
		item1.addActionListener(this);
		item2.addActionListener(this);
		
		addWindowListener(this);
	}
	
	
	//************************************************************************************
	//事件处理
	//************************************************************************************
	public void actionPerformed(ActionEvent e) {
		 
		String value=e.getActionCommand();
		StringBuffer result=new StringBuffer("");
		member=new Member();
		
		//确定用户的资料已经填写完毕
		hasActive=false;
				
		if(value.equals("确定")){
			 	
			//检测用户输入资料的合法性
			if	(nameField.getText().toString().length()>4||nameField.getText().toString().length()==0){
				 result.append("姓名 "); //用于保存出错资料所在的位置
			 }
			
			if(isAdd){	
				if(	IDField.getText().length()!=11||IDField.getText().toString().length()==0||!isDigital(IDField.getText())||isDuplicated(IDField.getText())){
					result.append("学号 ");
				}
			}
			else{
				if(	IDField.getText().length()!=11||IDField.getText().toString().length()==0||!isDigital(IDField.getText())){
					result.append("学号 ");
				}
			}
				
			if(!genderField.getText().toString().equals("男")&&!genderField.getText().toString().equals("女")){
				result.append("性别 ");
			}
			if(	yearField.getText().length()!=4){
				result.append("入学年份 ");
			}
			if(	majorField.getText()==null){
				result.append("专业 ");
			}
			if(	departmentField.getText().toString().length()==0){
				result.append("系别 ");
			}
			if(	leagueField.getText().toString().length()==0){
				result.append("所在社团 ");
			}
			if(	etimeField.getText().toString().length()==0){
				result.append("加入时间 ");
			}
			
			
			if(result.toString().length()==0){
				JOptionPane.showMessageDialog(this,"记录保存!","warning",JOptionPane.WARNING_MESSAGE);
				member.setName(nameField.getText());
				member.setID(IDField.getText());
				member.setGender(genderField.getText());
				member.setYear(yearField.getText());
				member.setMajor(majorField.getText());
				member.setDepartment(departmentField.getText());
				member.setLeague(leagueField.getText());
				member.setenterTime(etimeField.getText());
				member.setquitTime(qtimeField.getText());
								
				this.setVisible(false);
				
				frameOperator.setmFrameMember(member);
				frameOperator.setmActiveTrue();
				isAdd=false;
				
			}
			else{
				JOptionPane.showMessageDialog(this,result.toString()+"输入数值非法!","warning",JOptionPane.WARNING_MESSAGE);
			}
								
		 }
		else{
			this.setVisible(false);
		}
		 
	}
	
	//************************************************************************************
	//返回对象
	//************************************************************************************
	public Member getMember(){
			return member;
	}
	
	//************************************************************************************
	//确定当前状态是添加还是编辑
	//************************************************************************************
	public void setisAdd(){
			isAdd=true;
	}
	
	//	************************************************************************************
	//判断字符串是否为数字
	//************************************************************************************
	public boolean isDigital(String string){
		boolean isDigital=true;
		try{
			Double.parseDouble(string);
		 }catch(Exception e){
			isDigital=false;
		}
		 System.out.println(isDigital);
		 return isDigital;
	}
	
	//	************************************************************************************
	//判断字符串是否重复出现在记录中
	//************************************************************************************
	public boolean isDuplicated(String string){
		boolean isDuplicated=false;
		int index=frameOperator.getmIndex();
		members=new Member[index];
		members=frameOperator.getmMember();
		
		for(int i=0;i<index;i++){
			if(members[i].getID().equals(string)){
				
				isDuplicated=true;
				i=index; 					//提前退出
			}
		}
		System.out.println(isDuplicated);
		return isDuplicated;
		
	}
	
	//	************************************************************************************
	//设置编辑窗口的资料 显示指定的内容
	//************************************************************************************
	public void setTextField(Member member){
		nameField.setText(member.getName());
		IDField.setText(member.getID());
		genderField.setText(member.getGender());
		yearField.setText(member.getYear());
		majorField.setText(member.getMajor());
		departmentField.setText(member.getDepartment());
		leagueField.setText(member.getLeague());
		etimeField.setText(member.getenterTime());
		qtimeField.setText(member.getquitTime());
	}
	
	//	************************************************************************************
	//窗口事件处理
	//************************************************************************************
	public void windowOpened(WindowEvent arg0) {}
	public void windowClosing(WindowEvent arg0) {
		this.setVisible(false);
	}
	public void windowIconified(WindowEvent arg0) {}
	public void windowDeiconified(WindowEvent arg0) {	}
	public void windowActivated(WindowEvent arg0) {}
	public void windowDeactivated(WindowEvent arg0) {}
	public void windowClosed(WindowEvent arg0) {}


	

}

⌨️ 快捷键说明

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