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

📄 modifydeluser.java

📁 Java Swing写的图书馆管理系统
💻 JAVA
字号:
package library.iframe;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import javax.swing.table.DefaultTableModel;

import library.DBConnectOperation.Dbo;
import library.model.Operator;
import library.util.CreateIcon;

public class ModifyDelUser extends JInternalFrame {
	private DefaultTableModel model=new DefaultTableModel();
	private JTextField operatorId;
	private JTextField name;
	private JComboBox sex;
	private JTextField identityCardNumber;
	private JTextField tel;
	private JFormattedTextField workDate;
	private JPasswordField password_1;
	private JPasswordField password_2;
	private JButton saveButton;
	private JButton delButton;
	private Operator operator;
	private JButton cancelButton;
	private ArrayList arrayList;
	private JTable table;
	private SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
	private final String operatorSex[]={"男","女"};
	private final String columnNames[]={"姓名","性别","身份证号","电话","参加工作时间","ID"};
	public ModifyDelUser(){
		super();
		setBounds(100,100,600,480);
		setTitle("修改或删除用户");
		setClosable(true);
		setResizable(false);
		setIconifiable(true);
		
		//设置顶部图片
		JLabel labelTop=new JLabel();
		labelTop.setIcon(CreateIcon.add("readerModify.jpg"));
		getContentPane().add(labelTop,BorderLayout.NORTH);
		((BorderLayout) getContentPane().getLayout()).setVgap(5);
		
		//设置中央面板,用于显示表格
		JPanel panelCenter=new JPanel();
		getContentPane().add(panelCenter);
		JScrollPane scrollPane=new JScrollPane();
		scrollPane.setPreferredSize(new Dimension(560,180));
		panelCenter.add(scrollPane);
		
		table=new JTable();
		table.setModel(model);
		model.setColumnIdentifiers(columnNames);
		scrollPane.setViewportView(table);
		
		//向表格中添加数据
		arrayList=Dbo.selectAllBookAdmin();
		if(arrayList!=null){
			for(int i=0;i<arrayList.size();i++){
				//System.out.println(arrayList.size());
				operator=(Operator)arrayList.get(i);
				addTableRow(operator);
			}
		}
		//获取鼠标选择的行
		table.addMouseListener(new MouseAdapter(){
			public void mousePressed(MouseEvent e){
				if(arrayList.size()>1){
					int i=table.getSelectedRow();
					if(i!=-1){
						operatorId.setText((String)table.getValueAt(i,5));
						name.setText((String)table.getValueAt(i, 0));
						sex.getModel().setSelectedItem((String)table.getValueAt(i, 1));
						identityCardNumber.setText((String)table.getValueAt(i, 2));
						tel.setText((String)table.getValueAt(i, 3));
						workDate.setText((String)table.getValueAt(i, 4));
						password_1.setText(operator.getPassword());
						//System.out.println(operator.getPassword());
						password_2.setText(operator.getPassword());
					}
				}
			}
		});
		
		
		//设置底部面板,用于添加各种文本框和相应按钮
		JPanel panelBottom=new JPanel();
		BorderLayout borderLayoutBottom=new BorderLayout();
		borderLayoutBottom.setVgap(5);
		panelBottom.setLayout(borderLayoutBottom);
		getContentPane().add(panelBottom,BorderLayout.SOUTH);
		
		//添加底部上面板,用于添加各种文本框
		JPanel panelBottomUp=new JPanel();
		GridLayout gridLayoutBottomUp=new GridLayout(0,6);
		gridLayoutBottomUp.setVgap(10);
		gridLayoutBottomUp.setHgap(10);
		panelBottomUp.setLayout(gridLayoutBottomUp);
		panelBottom.add(panelBottomUp);
		
		JLabel labelId=new JLabel();
		labelId.setText("管理员ID:");
		labelId.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelId);
		operatorId=new JTextField();
		operatorId.setEditable(false);
		panelBottomUp.add(operatorId);
		
		JLabel labelName=new JLabel();
		labelName.setText("昵称:");
		labelName.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelName);
		name=new JTextField();
		name.addKeyListener(new KeyAdapter(){
			public void keyReleased(KeyEvent e){
				if(name.getText().length()>20){
					JOptionPane.showMessageDialog(null, "姓名不能超过20个字符!");
					name.setText("");
					return;
				}
			}
		});
		panelBottomUp.add(name);
		
		JLabel labelSex=new JLabel();
		labelSex.setText("性别:");
		labelSex.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelSex);
		sex=new JComboBox();
		sex.addItem(operatorSex[0]);
		sex.addItem(operatorSex[1]);
		panelBottomUp.add(sex);
		
		JLabel labelIdentityCard=new JLabel();
		labelIdentityCard.setText("身份证号:");
		labelIdentityCard.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelIdentityCard);
		identityCardNumber=new JTextField();
		identityCardNumber.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent e){
				if(identityCardNumber.getText().length()>18){
					JOptionPane.showMessageDialog(null, "身份证号不能超过18位!");
					identityCardNumber.setText("");
					return;
				}
			}
		});
		panelBottomUp.add(identityCardNumber);
		
		JLabel labelTel=new JLabel();
		labelTel.setText("电话:");
		labelTel.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelTel);
		tel=new JTextField();
		tel.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent e){
				try{
					Long.parseLong(tel.getText());
				}
				catch(NumberFormatException tne){
					JOptionPane.showMessageDialog(null, "电话号码应为数字!");
					tel.setText("");
					return;
				}
				if(tel.getText().length()>15){
					JOptionPane.showMessageDialog(null, "电话号码不能超过15位!");
					tel.setText("");
					return;
				}
			}
		});
		panelBottomUp.add(tel);
		
		JLabel labelWorkDate=new JLabel();
		labelWorkDate.setText("工作时间:");
		labelWorkDate.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelWorkDate);
		
		workDate=new JFormattedTextField(format);
		workDate.setValue(new Date());
		panelBottomUp.add(workDate);
		
		JLabel labelAdmin=new JLabel();
		labelAdmin.setText("管理员类型:");
		labelAdmin.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelAdmin);
		JTextField admin=new JTextField();
		admin.setText("图书管理员");
		admin.setEditable(false);
		panelBottomUp.add(admin);
		
		JLabel labelPassword_1=new JLabel();
		labelPassword_1.setText("密码:");
		labelPassword_1.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelPassword_1);	
		password_1=new JPasswordField();
		password_1.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent e){
				if(password_1.getText().length()>10){
					JOptionPane.showMessageDialog(null, "密码长度不能超过10位!");
					password_1.setText("");
					return;
				}
			}
		});
		panelBottomUp.add(password_1);
		
		JLabel labelPassword_2=new JLabel();
		labelPassword_2.setText("再次输入密码:");
		labelPassword_2.setHorizontalAlignment(SwingConstants.RIGHT);
		panelBottomUp.add(labelPassword_2);
		
		password_2=new JPasswordField();
		password_2.addKeyListener(new KeyAdapter(){
			public void keyPressed(KeyEvent e){
				if(password_2.getText().length()>10){
					JOptionPane.showMessageDialog(null, "密码长度不能超过10位!");
					password_2.setText("");
					return;
				}
			}
		});
		panelBottomUp.add(password_2);
		
		//添加底部下面板,用于添加相应按钮
		JPanel panelBottomDown=new JPanel();
		FlowLayout flowLayoutBottomDown=new FlowLayout();
		flowLayoutBottomDown.setVgap(10);
		flowLayoutBottomDown.setHgap(10);
		panelBottomDown.setLayout(flowLayoutBottomDown);
		panelBottom.add(panelBottomDown,BorderLayout.SOUTH);
		
		saveButton=new JButton();
		saveButton.setText("保存");
		saveButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				if(name.getText().length()==0){
					JOptionPane.showMessageDialog(null, "姓名不能为空");
					return;
				}
				if(Dbo.selectSpecifiedOperatorName(name.getText(), Integer.parseInt(operatorId.getText()))!=null){
					JOptionPane.showMessageDialog(null,"不能与现有管理员重名!请重新输入管理员姓名!");
					name.setText("");
					return;
				}
	    		if(identityCardNumber.getText().length()==0){
	    			JOptionPane.showMessageDialog(null, "身份证号不能为空!");
	    			return;
	    		}
	    		if(password_1.getText().length()==0){
	    			JOptionPane.showMessageDialog(null, "密码不能为空!");
	    			return;
	    		}
	    		if(!password_2.getText().equals(password_1.getText())){
	    			JOptionPane.showMessageDialog(null,"两次密码输入不一致!");
	    			password_1.setText("");
	    			password_2.setText("");
	    			return;
	    		}
	    		String sql="update tb_operator set name='"+name.getText()+"',sex='"+(String)sex.getSelectedItem()
	    		+"',identityCard='"+identityCardNumber.getText()+"',tel='"+tel.getText()+"',workdate='"+workDate.getText()
	    		+"',password='"+password_1.getText()+"' where operatorID="+operatorId.getText();
	    		int i=Dbo.executeUpdate(sql);
	    		if(i!=-1){
	    			JOptionPane.showMessageDialog(null, "修改成功!");
	    			name.setText("");
					operatorId.setText("");
					identityCardNumber.setText("");
					tel.setText("");
					workDate.setText("");
					password_1.setText("");
					password_2.setText("");
					while(model.getRowCount()!=0)
						model.removeRow(model.getRowCount()-1);
					arrayList=Dbo.selectAllBookAdmin();
					if(arrayList!=null){
						for(int j=0;j<arrayList.size();j++){
							//System.out.println(arrayList.size());
							operator=(Operator)arrayList.get(j);
							addTableRow(operator);
						}
					}
	    			return;
	    		}
			}
		});
		panelBottomDown.add(saveButton);
		
		delButton=new JButton();
		delButton.setText("删除");
		delButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				String sql="delete from tb_operator where operatorId="+operatorId.getText();
				int i=Dbo.executeUpdate(sql);
				if(i!=-1){
					JOptionPane.showMessageDialog(null,"删除成功");
					operatorId.setText("");
					name.setText("");
					identityCardNumber.setText("");
					tel.setText("");
					workDate.setText("");
					password_1.setText("");
					password_2.setText("");
					while(model.getRowCount()!=0)
						model.removeRow(model.getRowCount()-1);
					arrayList=Dbo.selectAllBookAdmin();
					if(arrayList!=null){
						for(int j=0;j<arrayList.size();j++){
							//System.out.println(arrayList.size());
							operator=(Operator)arrayList.get(j);
							addTableRow(operator);
						}
					}
					return;
				}
				else {
					JOptionPane.showMessageDialog(null, "删除失败!该管理员在图书借阅中有操作记录!");
					return;
				}
				
			}
		});
		
		panelBottomDown.add(delButton);
		
		cancelButton=new JButton();
		cancelButton.setText("返回");
		cancelButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent e){
				dispose();
			}
		});
		panelBottomDown.add(cancelButton);
		setVisible(true);
	}
	public void addTableRow(Operator operator){
		String str[]=new String[6];
		str[0]=operator.getName();
		str[1]=operator.getSex();
		str[2]=operator.getIdentityCardNumber();
		str[3]=operator.getTel();
		try {
			format.parse(operator.getWorkDate());
			str[4]=format.format(format.parse(operator.getWorkDate()));
		} catch (ParseException e) {
			e.printStackTrace();
		}
		str[5]=new Integer(operator.getId()).toString();
		model.addRow(str);
	}
}

⌨️ 快捷键说明

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