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

📄 addassetdlg.java

📁 对2000元以上的资产管理
💻 JAVA
字号:
package com.cdaccp.view.dialog;

import java.awt.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.Font;
import javax.swing.BorderFactory;
import java.awt.Color;
import javax.swing.border.TitledBorder;
import com.cdaccp.dao.CategoryDAO;
import java.util.List;
import com.cdaccp.entity.Category;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import com.cdaccp.dao.OperatorDAO;
import com.cdaccp.entity.Asset;
import com.cdaccp.dao.AssetDAO;
import com.util.Config;
import com.util.DataManager;
import com.cdaccp.view.frame.MainFrm;
import com.util.GetTime;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import com.jungleford.smartcalendar.MonthCalendar;

/**
 * <p>Title: 添加资产对话框</p>
 */
public class AddAssetDlg
    extends JDialog {
  JPanel panel1 = new JPanel();
  JLabel jLabel1 = new JLabel();
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JLabel jLabel5 = new JLabel();
  JLabel jLabel6 = new JLabel();
  JLabel jLabel9 = new JLabel();
  JTextArea jtaRemarks = new JTextArea();
  JTextField jtfAssetName = new JTextField();
  JLabel jLabel10 = new JLabel();
  JComboBox jcbCate = new JComboBox();
  JComboBox jcbSubCate = new JComboBox();
  JTextField jtfPrice = new JTextField();
  JComboBox jcbStatus = new JComboBox();
  TitledBorder titledBorder1 = new TitledBorder("");
  JButton jbtnCancel = new JButton();
  JButton jbtnAdd = new JButton();
  JLabel jLabel4 = new JLabel();

  MainFrm mainFrm;
  JLabel jLabel7 = new JLabel();
  JTextField jtfTime = new JTextField();
  JButton jButton1 = new JButton();
  JScrollPane jScrollPane1 = new JScrollPane();
  ImageIcon date = new ImageIcon("image/date.gif");
  JLabel jLabel8 = new JLabel();
  public AddAssetDlg(Frame frame, String string, boolean _boolean) {
    super(frame, string, _boolean);
    mainFrm = (MainFrm) frame;
    try {
      setDefaultCloseOperation(DISPOSE_ON_CLOSE);
      jbInit();
      pack();
    }
    catch (Exception exception) {
      exception.printStackTrace();
    }
  }

  public AddAssetDlg() {
    this(new Frame(), "AddAssetDlg", false);
  }

  private void jbInit() throws Exception {
    panel1.setLayout(null);
    jLabel1.setText("资产名称");
    jLabel1.setBounds(new Rectangle(50, 72, 52, 15));
    jLabel2.setText("大    类");
    jLabel2.setBounds(new Rectangle(50, 108, 52, 15));
    jLabel3.setText("小    类");
    jLabel5.setText("价    格");
    jLabel5.setBounds(new Rectangle(293, 72, 59, 15));
    jLabel6.setText("状    态");
    jLabel6.setBounds(new Rectangle(293, 147, 52, 15));
    jLabel9.setText("备    注");
    jLabel9.setBounds(new Rectangle(50, 189, 55, 15));
    jtaRemarks.setBorder(titledBorder1);
    jtfAssetName.setBounds(new Rectangle(126, 67, 125, 25));
    jtfAssetName.addKeyListener(new AddAssetDlg_jtfAssetName_keyAdapter(this));
    jLabel10.setFont(new java.awt.Font("楷体_GB2312", Font.BOLD, 25));
    jLabel10.setForeground(Color.blue);
    jLabel10.setHorizontalAlignment(SwingConstants.CENTER);
    jLabel10.setText("添 加 资 产");
    jLabel10.setBounds(new Rectangle(185, 20, 175, 25));
    jcbCate.setBounds(new Rectangle(126, 103, 125, 25));
    jcbCate.addKeyListener(new AddAssetDlg_jcbCate_keyAdapter(this));
    jcbCate.addActionListener(new AddAssetDlg_jcbCate_actionAdapter(this));
    jcbSubCate.setBounds(new Rectangle(366, 103, 125, 25));
    jcbSubCate.addKeyListener(new AddAssetDlg_jcbSubCate_keyAdapter(this));
    jtfPrice.setBounds(new Rectangle(366, 67, 125, 25));
    jtfPrice.addKeyListener(new AddAssetDlg_jtfPrice_keyAdapter(this));
    jcbStatus.setBounds(new Rectangle(366, 142, 125, 25));
    jcbStatus.addKeyListener(new AddAssetDlg_jcbStatus_keyAdapter(this));
    jcbStatus.addItem("正常"); //初始化状态下列列表框
    jcbStatus.addItem("维修");
    jcbStatus.addItem("报废");
    jcbStatus.setSelectedIndex(0); //默认选中"正常"
    jbtnCancel.setBounds(new Rectangle(319, 320, 82, 28));
    jbtnCancel.setToolTipText("");
    jbtnCancel.setText("取 消");
    jbtnCancel.addActionListener(new AddAssetDlg_jbtnCancel_actionAdapter(this));
    jbtnAdd.setBounds(new Rectangle(419, 320, 82, 28));
    jbtnAdd.setText("添 加");
    jbtnAdd.addActionListener(new AddAssetDlg_jbtnAdd_actionAdapter(this));
    jLabel4.setText("小    类");
    jLabel4.setBounds(new Rectangle(293, 108, 52, 15));
    jLabel7.setText("购入时间");
    jLabel7.setBounds(new Rectangle(50, 147, 52, 15));
    jtfTime.setBounds(new Rectangle(126, 143, 127, 22));
    jButton1.setBounds(new Rectangle(252, 143, 22, 22));
    jButton1.setHorizontalTextPosition(SwingConstants.CENTER);
    jButton1.setIcon(date);
    jButton1.addKeyListener(new AddAssetDlg_jButton1_keyAdapter(this));
    jButton1.addActionListener(new AddAssetDlg_jButton1_actionAdapter(this));
    jScrollPane1.setBounds(new Rectangle(122, 189, 377, 90));
    jLabel8.setForeground(Color.red);
    jLabel8.setText("(可选)");
    jLabel8.setBounds(new Rectangle(56, 206, 42, 20));
    getContentPane().add(panel1);
    panel1.add(jLabel3);
    panel1.add(jtfAssetName);
    panel1.add(jLabel1);
    panel1.add(jLabel5);
    panel1.add(jcbCate);
    panel1.add(jLabel2);
    panel1.add(jtfPrice);
    panel1.add(jLabel10);
    panel1.add(jLabel9);
    panel1.add(jcbSubCate);
    panel1.add(jLabel4);
    panel1.add(jLabel6);
    panel1.add(jcbStatus);
    panel1.add(jbtnCancel);
    panel1.add(jbtnAdd);
    panel1.add(jtfTime);
    panel1.add(jLabel7);
    panel1.add(jButton1);
    panel1.add(jScrollPane1);
    panel1.add(jLabel8);
    jScrollPane1.getViewport().add(jtaRemarks);
    jtfTime.setText(GetTime.returnTime());
    jtfTime.setEditable(false);
    this.setLocation(350, 120);
    initJcbbCate();
  }

  public static void main(String[] args) {
    AddAssetDlg addAssetDlg = new AddAssetDlg();
    addAssetDlg.setSize(580, 430);
    addAssetDlg.setVisible(true);
  }

  /**
   * 初始化大类下拉列表的值
   */
  void initJcbbCate() {
    CategoryDAO cateDao = new CategoryDAO();
    List cateList = cateDao.getAllBigCategory();
    for (int i = 0; i < cateList.size(); i++) {
      Category bigCate = (Category) cateList.get(i);
      this.jcbCate.addItem(bigCate);
    }
  }

  /**
   * 点击某大类项,下面的小类下拉列表框将自动显示该大类下的所有小类
   * 该方法将某大类下的所有小类加载到小类列表框
   */
  public void jcbCate_actionPerformed(ActionEvent actionEvent) {
    jcbSubCate.removeAllItems();
    CategoryDAO cateDao = new CategoryDAO();
    int bigCateId = ( (Category) jcbCate.getSelectedItem()).getCateId();
    List cateList = cateDao.getSmallCategoryByBigCateId(bigCateId);
    for (int i = 0; i < cateList.size(); i++) {
      Category smallCate = (Category) cateList.get(i);
      this.jcbSubCate.addItem(smallCate);
    }
  }

  public void jbtnAdd_actionPerformed(ActionEvent actionEvent) {
    //获取界面的数据
    String name = this.jtfAssetName.getText();
    int bigCate = 0;
    int smallCate = 0;
    float price = 0.0F;
    int status = 0;
    int useBy = 0;
    String remarks = null;
    if (name == null || name.equals("")) {
      JOptionPane.showMessageDialog(this, "资产名称不能为空", "警告",
                                    JOptionPane.CANCEL_OPTION);
      return;
    }
    if (jtfPrice.getText() == null || jtfPrice.equals("")) {
      JOptionPane.showMessageDialog(this, "价格不能为空", "警告",
                                    JOptionPane.CANCEL_OPTION);
      return;
    }
    try {
      bigCate = ( (Category) jcbCate.getSelectedItem()).getCateId();
      smallCate = ( (Category) jcbSubCate.getSelectedItem()).getCateId();
      price = Float.parseFloat(jtfPrice.getText());
      status = jcbStatus.getSelectedIndex();
      useBy = Config.currOperator.getId(); //从配置类中取出当前操作员的编号
      remarks = jtaRemarks.getText();
    }
    catch (NumberFormatException ex) {
      JOptionPane.showMessageDialog(this, "非法输入,请检查后重新输入", "警告",
                                    JOptionPane.CANCEL_OPTION);
      return;
    }
    //实例化一个Asset(资产)对象,并未每个属性赋值
    Asset asset = new Asset();
    asset.setName(name);
    asset.setCateId(bigCate);
    asset.setSubCateId(smallCate);
    asset.setPrice(price);
    asset.setPurchaseDate(GetTime.returnTime());
    asset.setUseBy(useBy);
    asset.setRemarks(remarks);
    asset.setStatus(status);

    //调用DAO类插入数据
    AssetDAO assetDao = new AssetDAO();
    if (assetDao.insert(asset)) {
//      JOptionPane.showMessageDialog(this, "资产添加成功....", "添加资产",
//                                    JOptionPane.INFORMATION_MESSAGE, null);
      this.jcbCate.setSelectedIndex(0);
      this.jtfAssetName.setText("");
      this.jtfPrice.setText("");
      this.jtfTime.setText(GetTime.returnTime());
      DataManager.assetList = assetDao.loadBySubcateId(bigCate, smallCate);
      //更换主界面表格的数据内容
      DataManager.resetAssetIntoTable(mainFrm.model);
    }
    else {
      JOptionPane.showMessageDialog(this, "资产添加失败....", "添加资产",
                                    JOptionPane.ERROR_MESSAGE, null);
    }
  }

  public void jbtnCancel_actionPerformed(ActionEvent e) {
    this.dispose();
  }

  public void jtfAssetName_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jtfPrice.grabFocus();
    }
  }

  public void jtfPrice_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jcbCate.grabFocus();
    }
  }

  public void jcbCate_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jcbSubCate.grabFocus();
    }
  }

  public void jcbSubCate_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jButton1.grabFocus();
    }
  }

  public void jcbStatus_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jtaRemarks.grabFocus();
    }

  }

//弹出日历对话框
  public void jButton1_actionPerformed(ActionEvent e) {
    MonthCalendar popDate = MonthCalendar.getInstance();
    popDate.setLocale(getLocale());
    if (popDate.showDialog(this, "请选择日历") == MonthCalendar.APPROVE_OPTION) {
      Date date = new Date(popDate.getSelectedDate().getTime()); //取的选择的日历
      jtfTime.setText(GetTime.returnFormatTime(date));
    }
  }

  public void jButton1_keyTyped(KeyEvent e) {
    if (e.getKeyChar() == '\n') {
      this.jcbStatus.grabFocus();
    }
  }
}

class AddAssetDlg_jButton1_actionAdapter
    implements ActionListener {
  private AddAssetDlg adaptee;
  AddAssetDlg_jButton1_actionAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jButton1_actionPerformed(e);
  }
}

class AddAssetDlg_jButton1_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jButton1_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jButton1_keyTyped(e);
  }
}

class AddAssetDlg_jcbStatus_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jcbStatus_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jcbStatus_keyTyped(e);
  }
}

class AddAssetDlg_jcbCate_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jcbCate_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jcbCate_keyTyped(e);
  }
}

class AddAssetDlg_jtfPrice_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jtfPrice_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jtfPrice_keyTyped(e);
  }
}

class AddAssetDlg_jtfAssetName_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jtfAssetName_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jtfAssetName_keyTyped(e);
  }
}

class AddAssetDlg_jbtnCancel_actionAdapter
    implements ActionListener {
  private AddAssetDlg adaptee;
  AddAssetDlg_jbtnCancel_actionAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent e) {
    adaptee.jbtnCancel_actionPerformed(e);
  }
}

class AddAssetDlg_jbtnAdd_actionAdapter
    implements ActionListener {
  private AddAssetDlg adaptee;
  AddAssetDlg_jbtnAdd_actionAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent actionEvent) {
    adaptee.jbtnAdd_actionPerformed(actionEvent);
  }
}

class AddAssetDlg_jcbCate_actionAdapter
    implements ActionListener {
  private AddAssetDlg adaptee;
  AddAssetDlg_jcbCate_actionAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void actionPerformed(ActionEvent actionEvent) {
    adaptee.jcbCate_actionPerformed(actionEvent);
  }
}

class AddAssetDlg_jcbSubCate_keyAdapter
    extends KeyAdapter {
  private AddAssetDlg adaptee;
  AddAssetDlg_jcbSubCate_keyAdapter(AddAssetDlg adaptee) {
    this.adaptee = adaptee;
  }

  public void keyTyped(KeyEvent e) {
    adaptee.jcbSubCate_keyTyped(e);
  }
}

⌨️ 快捷键说明

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