📄 addassetdlg.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 + -