deptdialog.java
来自「用java开发的QQ管理系统」· Java 代码 · 共 167 行
JAVA
167 行
package com.zlf.qqserver.deptmng;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.AbstractAction;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import com.zlf.dao.DaoFactory;
import com.zlf.dao.DeptDao;
import com.zlf.dao.vo.Dept;
import com.zlf.qqserver.ServerMain;
public class DeptDialog extends JPanel {
/**
*
*/
private static final long serialVersionUID = 1L;
private JLabel deptNoLable = new JLabel("部门编号:");
private JLabel deptNameLable = new JLabel("部门名称:");
private JLabel deptMemoLable = new JLabel("部门描述:");
private JTextField deptNoText = new JTextField(12);
private JTextField deptNameText = new JTextField(12);
private JTextArea deptMemoText = new JTextArea("", 12, 6);
private JButton btnSave = new JButton("保存信息");
private JButton btnCancel = new JButton("取消操作");
private DeptDao dao = DaoFactory.newInstance().createDeptDao();
private HashMap h=new HashMap();
// 构造函数(传入参数)
public DeptDialog(final JDialog dialog, final ServerMain f, final int flag) {
deptMemoText.setBorder(BorderFactory.createLineBorder(Color.black));
Box firstRow = Box.createHorizontalBox();
firstRow.add(deptNoLable);
firstRow.add(deptNoText);
firstRow.add(Box.createHorizontalStrut(20));
firstRow.add(deptNameLable);
firstRow.add(deptNameText);
Box secondRow = Box.createHorizontalBox();
secondRow.add(deptMemoLable);
secondRow.add(deptMemoText);
Box btnRow = Box.createHorizontalBox();
btnRow.add(btnSave);
btnRow.add(Box.createHorizontalStrut(20));
btnRow.add(btnCancel);
Box outerBox = Box.createVerticalBox();
outerBox.add(firstRow);
outerBox.add(Box.createVerticalStrut(20));
outerBox.add(secondRow);
outerBox.add(Box.createVerticalStrut(20));
outerBox.add(btnRow);
this.setLayout(new BorderLayout());
this.add(Box.createVerticalStrut(20), BorderLayout.NORTH);
this.add(Box.createVerticalStrut(20), BorderLayout.SOUTH);
this.add(Box.createHorizontalStrut(20), BorderLayout.WEST);
this.add(Box.createHorizontalStrut(20), BorderLayout.EAST);
this.add(outerBox, BorderLayout.CENTER);
if (flag == 0) {
// 添加动作,设置默认的部门编号,从数据库中查找最大的编号+1的编号
h.put("2", "");
Vector v =dao.selectDept(h);
h.clear();
deptNoText.setText((String) v.get(0));
deptNoText.setEnabled(false);
} else if (flag == 1) {
// 修改动作,取出数据库部门表中数据
String st = (String) f.getDepMng().getTopPanel().getDataModel()
.getValueAt(
f.getDepMng().getTopPanel().getTable()
.getSelectedRow(), 0);
// 根据部门的编号,到数据库中查找出部门信息
System.out.println(h);
h.put("4", st);
Vector v = (Vector)dao.selectDept(h);
h.clear();
deptNoText.setText(st);
deptNoText.setEditable(false);
// 迭代取出数据
Iterator iter = v.iterator();
while (iter.hasNext()) {
Vector ve = (Vector) iter.next();
deptNameText.setText((String) ve.get(1));
deptMemoText.setText((String) ve.get(2));
}
}
btnSave.addActionListener(new AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
if (deptNameText.getText().equals("")) {
JOptionPane.showMessageDialog(dialog, "请输入部门名称!", "提示框",
JOptionPane.WARNING_MESSAGE);
} else {
Dept dept = new Dept();
dept.setDeptId(deptNoText.getText());
dept.setDeptName(deptNameText.getText());
dept.setDeptRemark(deptMemoText.getText());
if (flag == 0) {
// 执行添加动作
dao.addDept(dept);
} else if (flag == 1) {
dao.updateDept(dept);
}
dialog.dispose();
// 刷新表格
h.put("1", "");
Vector vector = dao.selectDept(h);
h.clear();
f.getDepMng().getTopPanel().getDataModel().setData(vector);
//刷新用户管理面板的部门下拉框
h.put("3", "");
String[] stDeptName=(String[]) dao.selectDept(h).get(0);
h.clear();
f.getUserMngPanel().getTopPanel().getDeptNameCombo().setModel(new
DefaultComboBoxModel(stDeptName));
//将修改,删除,刷新按钮为不可使用状态
f.getDepMng().getBotPanel().getUpdateBtn().setEnabled(false);
f.getDepMng().getBotPanel().getDeleteBtn().setEnabled(false);
f.getDepMng().getBotPanel().getRefurbishBtn().setEnabled(false);
}
}
});
btnCancel.addActionListener(new AbstractAction() {
/**
*
*/
private static final long serialVersionUID = 1L;
public void actionPerformed(ActionEvent e) {
dialog.dispose();
}
});
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?