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

📄 dept.java

📁 没有什么难的
💻 JAVA
字号:
package UI;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.sql.*;

import DB.*;

public class Dept extends JPanel
				  implements ListSelectionListener,ActionListener
	{
		private JLabel jName = new JLabel("部门名称");
		private JLabel jTeamLeader = new JLabel("部门经理");
		private JLabel jDeptFuc = new JLabel("部门职能");
		public JList list;
		public DefaultListModel listModel = new DefaultListModel();
		public JButton insert;
		public JButton del;
		public JButton modify;
		public JButton save;
		public JTextField name;
		public JTextField teamLeader;
		public JTextField deptFuc;
		
		DB db;
		Statement stmt;
		ResultSet rs;
		String sql1 = "select * from department;";
		
		Vector vDeptName = new Vector();
		Vector vDeptLeader = new Vector();
		Vector vDeptFunc = new Vector();

	public Dept()  
	{
		try{
			db = new DB();
			
			rs = db.search(sql1);
			while(rs.next())
			{
				String sDeptName = rs.getString("deptName");
				vDeptName.add(sDeptName);
				vDeptLeader.add(rs.getString("leaderName"));
				vDeptFunc.add(rs.getString("deptFunc"));
				listModel.addElement(sDeptName);		
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}

		this.setLayout(null);
		this.setSize(800,600);
		
		list = new JList(listModel);
		list.addListSelectionListener(this);
		JScrollPane listScrollPane = new JScrollPane(list);
		listScrollPane.setBounds(50,50,200,400);		

		insert = new JButton("添加"); insert.setBounds(50,500,70,30);
		insert.addActionListener(this);
		del = new JButton("删除"); del.setBounds(150,500,70,30);
		del.addActionListener(this);
		modify = new JButton("修改"); modify.setBounds(250,500,70,30);
		modify.addActionListener(this);
		save = new JButton("保存"); save.setBounds(350,500,70,30);
		save.addActionListener(this);
		save.setEnabled(false);

		jName.setBounds(300,100,100,40);
		jTeamLeader.setBounds(300,200,100,40);
		jDeptFuc.setBounds(300,300,100,40);

		name = new JTextField(); name.setBounds(400,100,250,40);name.setEditable(false);
		teamLeader = new JTextField(); teamLeader.setBounds(400,200,250,40);
		teamLeader.setEditable(false);
		deptFuc = new JTextField(); deptFuc.setBounds(400,300,250,40);
		deptFuc.setEditable(false);

		this.add(listScrollPane);
		this.add(jName);
		this.add(jTeamLeader);
		this.add(jDeptFuc);
		this.add(insert);
		this.add(del);
		this.add(modify);
		this.add(save);
		this.add(name);
		this.add(teamLeader);
		this.add(deptFuc);
		
	}

	public void valueChanged(ListSelectionEvent e) {
		
		String sName = (String)list.getSelectedValue();
		name.setText(sName);
		String sqlSelect = "select leaderName,deptFunc from department " +
				"where deptName='"+sName+"';";	
		String sDeptLeader = null;
		String sDeptFunc = null;
		
		try {
			rs.close();
			rs = db.search(sqlSelect);
			while(rs.next())
			{
				sDeptLeader = rs.getString("leaderName");
				sDeptFunc = rs.getString("deptFunc");
			}
			teamLeader.setText(sDeptLeader);
			deptFuc.setText(sDeptFunc);
			
		} catch (SQLException e1) {
			e1.printStackTrace();
		}
		//teamLeader.setText((String)vDeptLeader.elementAt(index));
		//deptFuc.setText((String)vDeptFunc.elementAt(index));
    }
	
	/* (non-Javadoc)
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	/* (non-Javadoc)
	 * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
	 */
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource() == insert)
		{
			//name.setText("");teamLeader.setText("");deptFuc.setText("");
			//insert.setEnabled(false);del.setEnabled(false);
			//modify.setEnabled(false);save.setEnabled(true);
			int index = listModel.getSize();
			new InsertDeptFrame(list,index+1);
		}
		if(e.getSource() == del)
		{
			String temp = (String) list.getSelectedValue();
			int index = list.getSelectedIndex();
			//int i = vDeptName.indexOf(temp);
			//vDeptName.remove(i);
			//vDeptLeader.remove(i);
			//vDeptFunc.remove(i);
			
			String sqlDel = "delete from department where deptName='"+temp+"';";
			db.update(sqlDel);
			
			listModel.removeElementAt(index);			
			int size = listModel.getSize();
			if(size == 0)
				del.setEnabled(false);
			else{
				if (index == listModel.getSize()) {
                    //移除选项
                    index--;
				}
			}
			list.setSelectedIndex(index);
			list.ensureIndexIsVisible(index);

		}
		if(e.getSource() == modify)
		{
			//String select = (String) list.getSelectedValue();
			name.setEditable(true);
			teamLeader.setEditable(true);
			deptFuc.setEditable(true);
			save.setEnabled(true);
			modify.setEnabled(false);
			insert.setEnabled(false);
			del.setEnabled(false);
		}
		if(e.getSource() == save)
		{			
			String select = (String) list.getSelectedValue();
			int index = list.getSelectedIndex();
			String sName = name.getText();
			String sLeader = teamLeader.getText();
			String sDeptFuc = deptFuc.getText();
			String sqlSave = "update department set deptName='"+ sName+"'," +
					"leaderName='"+sLeader+"',deptFunc='"+sDeptFuc+"'" +
					"where deptName='"+select+"'";
			db.update(sqlSave);
			listModel.set(index,sName);
			
			name.setEditable(false);
			teamLeader.setEditable(false);
			deptFuc.setEditable(false);
			save.setEnabled(false);
			modify.setEnabled(true);
			insert.setEnabled(true);
			del.setEnabled(true);
		}
		
	}
	public static void main(String args[])
	{
		JFrame f = new JFrame();
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.add(new Dept());
		f.setSize(800,600);
		f.setVisible(true);
	}
};
/*
class Insert implements ActionListener
{
	Dept panel;
	public Insert(Panel p)
	{
		panel = (Dept)p;
	}
	public void actionPerformed(ActionEvent e)
	{
		String s = "";
		panel.name.setText(s);
	}
};*/

⌨️ 快捷键说明

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