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

📄 departmentgui.java

📁 这是个用java写的qq的多线程聊天的功能,有客户段和服务端,在eclipse里可以自动运行连接数据库
💻 JAVA
字号:
package smoker.server;

import java.awt.*;
import javax.swing.border.*;
import java.awt.event.*;

import javax.swing.*;

import smoker.tools.*;

public class DepartmentGUI extends JFrame implements ActionListener{
	public static final long serialVersionUID = 0;
	private JComboBox combDptName;
	private JTextArea taDptMemo;
	private Container container;
	private JButton btnUpdate;
	private JButton btnDel;
	private JButton btnCancel;
	private JButton btnAdd;
	private Department newDpt;
	private IServerCenter iServerCenter;
	
	public DepartmentGUI(IServerCenter iServerCenter) {
		this.iServerCenter = iServerCenter;
		this.setTitle("部门管理");
		this.setSize(350, 300);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		this.init();
		setComponents();
		GUIManager.CenterWindow(this);
	}
	
	private void init() {
		container = this.getContentPane();
		container.setLayout(new BorderLayout());
		combDptName = new JComboBox(iServerCenter.getDepartments());
		taDptMemo = new JTextArea();
		taDptMemo.setLineWrap(true);
		btnUpdate = GUIManager.createJButton("开始编辑", null, this, "btnUpdate");
		btnAdd = GUIManager.createJButton("添加", null, this, "btnAdd");
		btnDel = GUIManager.createJButton("删除", null, this, "btnDel");
		btnCancel = GUIManager.createJButton("取消", null, this, "btnCancel");
		canEditable(false);
		
		combDptName.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent e) {
				if(e.getStateChange() == ItemEvent.SELECTED) {
					Department dpt = (Department)e.getItem();
					taDptMemo.setText(dpt.getDptMemo());
				}
			}
			
		});
	}
	
	private void setComponents() {
		JLabel labDpt = new JLabel("名称:");
		JPanel namePane = new JPanel();
		namePane.setLayout(new BorderLayout());
		namePane.add(Box.createRigidArea(new Dimension(0, 5)), BorderLayout.NORTH);
		namePane.add(labDpt, BorderLayout.WEST);
		namePane.add(combDptName, BorderLayout.CENTER);
		namePane.add(Box.createRigidArea(new Dimension(150, 0)), BorderLayout.EAST);
		
		JPanel taPanel = new JPanel();
		taPanel.setLayout(new BorderLayout());
		TitledBorder titleBor = BorderFactory.createTitledBorder("部门描述");
		taPanel.setBorder(titleBor);
		taPanel.add(new JScrollPane(taDptMemo), BorderLayout.CENTER);
		
		JPanel btnPanel = new JPanel();
		btnPanel.setLayout(new GridLayout(1, 4));
		btnPanel.add(btnUpdate);
		btnPanel.add(btnAdd);
		btnPanel.add(btnDel);
		btnPanel.add(btnCancel);
		JPanel panelbtn = new JPanel();
		panelbtn.setLayout(new BorderLayout());
		panelbtn.add(btnPanel, BorderLayout.EAST);
		
		container.add(namePane, BorderLayout.NORTH);
		container.add(taPanel, BorderLayout.CENTER);
		container.add(panelbtn, BorderLayout.SOUTH);
	}
	
	private void canEditable(boolean flag) {
		combDptName.setEnabled(flag);
		taDptMemo.setEditable(flag);
	}
	
	public void actionPerformed(ActionEvent e) {
		String src = e.getActionCommand();
		if (src.equals("btnUpdate")) {
			if (btnUpdate.getText() == "开始编辑") {
				canEditable(true);
				btnUpdate.setText("完成编辑");
			} else if (btnUpdate.getText() == "完成编辑") {
				String dptName = combDptName.getSelectedItem().toString();
				String dptMemo = taDptMemo.getText();
				Department editDptInfo = new Department();
				editDptInfo.setDptName(dptName);
				editDptInfo.setDptMemo(dptMemo);
				int ok = iServerCenter.upDateDpt(editDptInfo);
				if (ok == 0) {
					canEditable(true);
					Msg.showOk("修改成功!");
					Department newdpt = (Department) combDptName.getSelectedItem();
					newdpt.setDptName(dptName);
					newdpt.setDptMemo(dptMemo);
				} else {
					Msg.showSel("修改失败!");
				}
				canEditable(false);
				btnUpdate.setText("开始编辑");
			}
		} else if (src.equals("btnAdd")) {
			String dptName = Msg.showInput("请输入部门名称");
			if (dptName == null) {
				return;
			}
			if (dptName.trim().length() != 0) {
				newDpt = new Department();
				newDpt.setDptName(dptName);
				combDptName.addItem(newDpt);
				combDptName.setSelectedIndex(combDptName.getItemCount() - 1);
				
				int ok = iServerCenter.addDpt(newDpt);
				if (ok == 1) {
					Msg.showSel("部门已存在!");
				} else {
					Msg.showOk("添加成功!");
				}
			} else {
				Msg.show("部门名称不能为空!");
			}
		} else if (src.equals("btnDel")) {
			Department delDpt = (Department)combDptName.getSelectedItem();
			if (Msg.showSel("你确定要删除[ " + delDpt.getDptName() + " ]部门吗?") == JOptionPane.YES_OPTION) {
				int ok = iServerCenter.delDpt(delDpt.toString());
				if (ok == 1) {
					Msg.show("输入的部门名称不存在!");
					return;
				}else if(ok == 2) {
					Msg.show("该部门至少还有一位员工,不能直接删除\n请转移员工后再删除此部门");
					return;
				}
				Msg.showOk("删除成功!");
				combDptName.removeItem(delDpt);
			}
		} else {
			this.dispose();
		}
	}
}

⌨️ 快捷键说明

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