MedicineType.java

 package yaopin;

import javax.swing.JPanel;

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.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import model.MedicineTypeDAO;
import model.MedicineTypeDTO;

public class MedicineType implements ActionListener
{
 private static final long serialVersionUID = 1L;

 private JPanel jSubPanel;

 private JLabel jLabelCode, jLabelName;

 private JTextField jTextCode, jTextName;
 
 private JButton jBtnAdd, jBtnUpdate, jBtnSearch, jBtnCancel, jBtnDelete;

 private DefaultTableModel tableModel;
 
 private MedicineTypeDAO medicineTypeDAO;
 private MedicineTypeDTO medicineTypeDTO = new MedicineTypeDTO();
 
 public DefaultTableModel getTableModel()
 {
  if (tableModel == null)
  {
   tableModel=new DefaultTableModel();    // 与控件名要一致。
   tableModel.addColumn("药品类别编码");
   tableModel.addColumn("药品类别名称");
   medicineTypeDAO = new MedicineTypeDAO();
   for(MedicineTypeDTO user : medicineTypeDAO.fillMedicineType())
   {
    tableModel.addRow(user.toArray());
   }
  }
  return tableModel;
 }
 
 public JPanel getJSubPanel()
 {
  if (jSubPanel == null)
  {
   jLabelCode = new JLabel("药品类别编码");
   jLabelCode.setBounds(new Rectangle(160, 100, 80, 22));
   jTextCode = new JTextField();
   jTextCode.setName("药品类别编码");
   jTextCode.setBounds(new Rectangle(250, 100, 300, 25));
   jLabelName = new JLabel("药品类别名称");
   jLabelName.setBounds(new Rectangle(160, 150, 80, 22));
   jTextName = new JTextField();
   jTextName.setName("药品类别名称");
   jTextName.setBounds(new Rectangle(250, 150, 300, 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.setBounds(new Rectangle(33, 11, 509, 348));
   jSubPanel.add(jLabelCode, null);
   jSubPanel.add(jTextCode, null);
   jSubPanel.add(jLabelName, null);
   jSubPanel.add(jTextName, 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); // 先清空所有数据
   }
   medicineTypeDTO = new MedicineTypeDTO();
   medicineTypeDTO.setTypeCode(jTextCode.getText());
   medicineTypeDTO.setTypeName(jTextName.getText());
   medicineTypeDAO.setMedicineTypeDTO(medicineTypeDTO);
   for(MedicineTypeDTO user : medicineTypeDAO.searchMedicineType())
   {
    tableModel.addRow(user.toArray());
   }
  }
  else if(e.getSource().equals(jBtnAdd))
  {
   if (jSubPanel.getName() != null)
   {
    JOptionPane.showMessageDialog(jSubPanel,"药品类别编号“" +jTextCode.getText()+ "”已存在!");
    return;
   }
   medicineTypeDTO.setTypeCode(jTextCode.getText());
   medicineTypeDTO.setTypeName(jTextName.getText());
   medicineTypeDAO.setMedicineTypeDTO(medicineTypeDTO);
   if(medicineTypeDAO.addMedicineType())
   {
    tableModel.addRow(medicineTypeDTO.toArray());
    this.clearText();
   }
   else
    JOptionPane.showMessageDialog(jSubPanel,"药品类别编号“" +jTextCode.getText()+ "”添加失败!");
  }
  else if(e.getSource().equals(jBtnUpdate))
  {
   if (jSubPanel.getName() == null)
   {
    JOptionPane.showMessageDialog(jSubPanel,"请选择要修改的行");
    return;
   }
   medicineTypeDTO.setTypeCode(jTextCode.getText());
   medicineTypeDTO.setTypeName(jTextName.getText());
   medicineTypeDAO.setMedicineTypeDTO(medicineTypeDTO);
   if(medicineTypeDAO.updateMedicineType())
   {
    int rowIndex = Integer.parseInt(jSubPanel.getName());
    tableModel.removeRow(rowIndex);
    tableModel.insertRow(rowIndex, medicineTypeDTO.toArray());
    this.clearText();
   }
   else
    JOptionPane.showMessageDialog(jSubPanel,"药品类别编号“" +jTextCode.getText()+ "”修改失败!");

  }
  else if(e.getSource().equals(jBtnDelete))
  {
   if (jSubPanel.getName() == null)
   {
    JOptionPane.showMessageDialog(jSubPanel,"请选择要删除的行");
    return;
   }
   if(JOptionPane.showConfirmDialog(jSubPanel, "确实要删除员工编号“" + jTextCode.getText() + "”吗?", "系统提示", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE) == 0)
   {
    medicineTypeDTO.setTypeCode(jTextCode.getText());
    medicineTypeDAO.setMedicineTypeDTO(medicineTypeDTO);
    if(medicineTypeDAO.deleteMedicineType())
    {
     tableModel.removeRow(Integer.parseInt(jSubPanel.getName()));
     this.clearText();
    }
    else
     JOptionPane.showMessageDialog(jSubPanel,"药品类别编号“" +jTextCode.getText()+ "”删除失败!");
   }
  }
  else
   this.clearText();
 }

 private void clearText()
 {
  for(Component cpt : jSubPanel.getComponents())
  {
   if(cpt instanceof JTextField)    //JAVA(instanceof) == .NET (is)
    ((JTextField)cpt).setText(null); // 清空文本框
  }
  jSubPanel.setName(null);
  jTextCode.setEditable(true);
  jTextCode.requestFocusInWindow(); // 设置焦点
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值