Worker.java
来源:互联网 发布:java编译命令是什么 编辑:程序博客网 时间:2024/05/16 15:22
package yaopin;
import java.awt.Component;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
import model.*;
public class Worker implements ActionListener
{
private JPanel jSubPanel = null;
private JLabel jLabelID,jLabelName ,jLabelDName ,jLabelWorkKind ,jLabelSex ,jLabelBirthday ,jLabelHomePhone ,jLabelTEL ,jLabelPwd ,jLabelGrantDeny ,jLabelNewPwd ;
private JTextField jTextID ,jTextName ,jTextWorkKind ,jTextBirthday ,jTextHomePhone ,jTextTEL;
private JPasswordField jTextPwd ,jTextNewPwd;
private JComboBox jCmbSex, jCmbGrantDeny, jCmbDName;
private JButton jBtnAdd, jBtnUpdate, jBtnSearch, jBtnCancel, jBtnDelete;
private DefaultTableModel tableModel;
private UserDAO userDAO;
private UserDTO userDTO = new UserDTO();
public DefaultTableModel getTableModel()
{
if (tableModel == null)
{
tableModel=new DefaultTableModel(); // 与控件名要一致。
String[] columnNames = {"员工编号", "员工姓名", "部门名称", "工作性质", "性别", "出生日期", "宅电", "手机","权限"};
for(String column : columnNames)
{
tableModel.addColumn(column);
}
userDAO = new UserDAO();
for(UserDTO user : userDAO.fillWorker())
{
tableModel.addRow(user.toArray());
}
}
return tableModel;
}
public JPanel getJSubPanel()
{
if (jSubPanel == null)
{
jLabelID = new JLabel("员工编号");
jLabelID.setBounds(new Rectangle(90, 40, 54, 22));
jTextID = new JTextField();
jTextID.setName("员工编号"); // 与列名要一致。
jTextID.setBounds(new Rectangle(150, 40, 200, 25));
jLabelDName = new JLabel("部门名称");
jLabelDName.setBounds(new Rectangle(90, 72, 54, 22));
jCmbDName = new JComboBox(new String[] {"人事部", "采购部", "财务部"});
jCmbDName.setName("部门名称");
jCmbDName.setBounds(new Rectangle(150, 72, 199, 25));
jLabelHomePhone = new JLabel("宅 电");
jLabelHomePhone.setBounds(new Rectangle(90, 136, 54, 22));
jTextHomePhone = new JTextField();
jTextHomePhone.setName("宅电");
jTextHomePhone.setBounds(new Rectangle(150, 136, 200, 25));
jLabelSex = new JLabel("性 别");
jLabelSex.setBounds(new Rectangle(90, 104, 54, 22));
jCmbSex = new JComboBox(new String[] {"男", "女"});
jCmbSex.setName("性别");
jCmbSex.setBounds(new Rectangle(150, 104, 199, 25));
jLabelGrantDeny = new JLabel("权 限");
jLabelGrantDeny.setBounds(new Rectangle(90, 200, 54, 22));
jCmbGrantDeny = new JComboBox(new String[] {"基本信息", "采购", "系统维护"});
jCmbGrantDeny.setName("权限");
jCmbGrantDeny.setBounds(new Rectangle(150, 200, 199, 25));
jLabelName = new JLabel("员工姓名");
jLabelName.setBounds(new Rectangle(440, 40, 54, 22));
jTextName = new JTextField();
jTextName.setName("员工姓名");
jTextName.setBounds(new Rectangle(500, 40, 200, 25));
jLabelWorkKind = new JLabel("工作性质");
jLabelWorkKind.setBounds(new Rectangle(440, 72, 54, 22));
jTextWorkKind = new JTextField();
jTextWorkKind.setName("工作性质");
jTextWorkKind.setBounds(new Rectangle(500, 72, 200, 25));
jLabelBirthday = new JLabel("出生日期");
jLabelBirthday.setBounds(new Rectangle(440, 104, 54, 22));
jTextBirthday = new JTextField();
jTextBirthday.setName("出生日期");
jTextBirthday.setToolTipText("请按照日期格式输入。例如:1986-12-12");
jTextBirthday.setBounds(new Rectangle(500, 104, 200, 25));
jLabelTEL = new JLabel("手 机");
jLabelTEL.setBounds(new Rectangle(440, 136, 54, 22));
jTextTEL = new JTextField();
jTextTEL.setName("手机");
jTextTEL.setBounds(new Rectangle(500, 136, 200, 25));
jLabelPwd = new JLabel("密 码");
jLabelPwd.setBounds(new Rectangle(90, 168, 54, 22));
jTextPwd = new JPasswordField();
jTextPwd.setToolTipText("请输入密码");
jTextPwd.setBounds(new Rectangle(150, 168, 200, 25));
jLabelNewPwd = new JLabel("确认密码");
jLabelNewPwd.setBounds(new Rectangle(440, 168, 54, 22));
jTextNewPwd = new JPasswordField();
jTextNewPwd.setBounds(new Rectangle(500, 168, 200, 25));
jBtnAdd = new JButton("添加");
jBtnAdd.setBounds(new Rectangle(100, 260, 75, 23));
jBtnAdd.addActionListener(this);
jBtnUpdate = new JButton("修改");
jBtnUpdate.setBounds(new Rectangle(210, 260, 75, 23));
jBtnUpdate.addActionListener(this);
jBtnDelete = new JButton("删除");
jBtnDelete.setBounds(new Rectangle(320, 260, 75, 23));
jBtnDelete.addActionListener(this);
jBtnSearch = new JButton("查询");
jBtnSearch.setToolTipText("可以根据员工编号,员工名称,部门编号进行联合查询。(支持模糊查询)");
jBtnSearch.setBounds(new Rectangle(500, 260, 75, 23));
jBtnSearch.addActionListener(this);
jBtnCancel = new JButton("取消");
jBtnCancel.setBounds(new Rectangle(610, 260, 75, 23));
jBtnCancel.addActionListener(this);
jSubPanel = new JPanel(null);
jSubPanel.add(jLabelID, null);
jSubPanel.add(jLabelNewPwd, null);
jSubPanel.add(jTextID, null);
jSubPanel.add(jLabelName, null);
jSubPanel.add(jTextName, null);
jSubPanel.add(jLabelDName, null);
jSubPanel.add(jCmbDName, null);
jSubPanel.add(jLabelWorkKind, null);
jSubPanel.add(jTextWorkKind, null);
jSubPanel.add(jLabelSex, null);
jSubPanel.add(jCmbSex, null);
jSubPanel.add(jLabelBirthday, null);
jSubPanel.add(jTextBirthday, null);
jSubPanel.add(jLabelHomePhone, null);
jSubPanel.add(jTextHomePhone, null);
jSubPanel.add(jLabelTEL, null);
jSubPanel.add(jTextTEL, null);
jSubPanel.add(jLabelPwd, null);
jSubPanel.add(jTextPwd, null);
jSubPanel.add(jLabelGrantDeny, null);
jSubPanel.add(jCmbGrantDeny, null);
jSubPanel.add(jTextNewPwd, null);
jSubPanel.add(jBtnAdd, null);
jSubPanel.add(jBtnUpdate, null);
jSubPanel.add(jBtnDelete, null);
jSubPanel.add(jBtnSearch, null);
jSubPanel.add(jBtnCancel, null);
}
return jSubPanel;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource().equals(jBtnSearch))
{
while(tableModel.getRowCount() > 0)
{
tableModel.removeRow(0); // 先清空所有数据
}
userDTO = new UserDTO();
userDTO.setWorkerID(jTextID.getText());
userDTO.setUserName(jTextName.getText());
userDTO.setDepartmentName(jCmbDName.getSelectedItem().toString());
userDAO.setUserDTO(userDTO);
for(UserDTO user : userDAO.searchWorker())
{
tableModel.addRow(user.toArray());
}
}
else if(e.getSource().equals(jBtnAdd))
{
if (jSubPanel.getName() != null)
{
JOptionPane.showMessageDialog(jSubPanel,"员工编号“" +jTextID.getText()+ "”已存在!");
return;
}
if (!this.userInfo())
return;
if(userDAO.addWorker())
{
tableModel.addRow(userDTO.toArray());
this.clearText();
}
else
JOptionPane.showMessageDialog(jSubPanel,"员工编号“" +jTextID.getText()+ "”添加失败!");
}
else if(e.getSource().equals(jBtnUpdate))
{
if (jSubPanel.getName() == null)
{
JOptionPane.showMessageDialog(jSubPanel,"请选择要修改的行");
return;
}
if (!this.userInfo())
return;
if(userDAO.updateWorker())
{
int rowIndex = Integer.parseInt(jSubPanel.getName());
tableModel.removeRow(rowIndex);
tableModel.insertRow(rowIndex, userDTO.toArray());
this.clearText();
}
else
JOptionPane.showMessageDialog(jSubPanel,"员工编号“" +jTextID.getText()+ "”修改失败!");
}
else if(e.getSource().equals(jBtnDelete))
{
if (jSubPanel.getName() == null)
{
JOptionPane.showMessageDialog(jSubPanel,"请选择要删除的行");
return;
}
if(JOptionPane.showConfirmDialog(jSubPanel, "确实要删除员工编号“" + jTextID.getText() + "”吗?", "系统提示", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == 0)
{
userDTO.setWorkerID(jTextID.getText());
userDAO.setUserDTO(userDTO);
if(userDAO.deleteWorker())
{
tableModel.removeRow(Integer.parseInt(jSubPanel.getName()));
this.clearText();
}
else
JOptionPane.showMessageDialog(jSubPanel,"员工编号“" +jTextID.getText()+ "”删除失败!");
}
}
else
this.clearText();
}
private boolean userInfo()
{
boolean flag = String.valueOf(jTextPwd.getPassword()).equals(String.valueOf(jTextNewPwd.getPassword()));
if (flag)
{
userDTO.setWorkerID(jTextID.getText());
userDTO.setUserName(jTextName.getText());
userDTO.setDepartmentName(jCmbDName.getSelectedItem().toString());
userDTO.setWorkKind(jTextWorkKind.getText());
userDTO.setSex(jCmbSex.getSelectedItem().toString());
userDTO.setBirthday(jTextBirthday.getText());
userDTO.setHomePhone(jTextHomePhone.getText());
userDTO.setTEL(jTextTEL.getText());
userDTO.setPassword(String.valueOf(jTextPwd.getPassword()));
userDTO.setGrantDeny(jCmbGrantDeny.getSelectedItem().toString());
userDAO.setUserDTO(userDTO);
}
else
{
JOptionPane.showMessageDialog(jSubPanel,"两次输入的密码不匹配,请重新输入!");
jTextPwd.setText(null);
jTextNewPwd.setText(null);
jTextPwd.requestFocusInWindow();
}
return flag;
}
private void clearText()
{
for(Component cpt : jSubPanel.getComponents())
{
if(cpt instanceof JTextField) //JAVA(instanceof) == .NET (is)
((JTextField)cpt).setText(null); // 清空文本框
}
jSubPanel.setName(null);
jTextID.setEditable(true);
jTextID.requestFocusInWindow(); // 设置焦点
}
}
- Worker.java
- Java Worker 设计模式
- Java Worker 设计模式
- Java Master-Worker模式
- Worker
- java 多线程 master worker模式
- java线程模型Master-Worker
- java thread worker thread 小例
- Java线程之Worker Thread Pattern
- Java 并发模式之Master-Worker
- java 想成中的Master-Worker模式
- java线程池深入三-Worker
- Java中的线程(五)- Master-Worker模式
- 《java多线程设计模式 第八章Worker Thread》
- Java多线程编程中Master-Worker模式的详解
- java中的并行模式之Master-Worker模式
- Java多线程编程中Master-Worker模式的详解
- java多线程设计模式Worker Thread(线程池)
- Main.java
- Medicine.java
- MedicineType.java
- Provider.java
- VC6.0程序的另一种调试方案(release 调试)
- Worker.java
- MedicineDAO.java
- MedicineDTO.java
- MedicineTypeDAO.java
- MedicineTypeDTO.java
- ProviderDAO.java
- ProviderDTO.java
- Oracle sqlplus基本知识
- 浅谈自制MFC控件