package set;
/** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2007</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */import java.awt.*;import java.awt.event.*;import java.util.*;import tools.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.table.*;
public class Asset_kinds_set_father extends JPanel { private JButton Asset_manager_set_modi = new JButton("修改"); private JButton Asset_manager_set_add = new JButton("增加"); private JButton Asset_manager_set_del = new JButton("删除"); private TableModel tmd; private String user; private HashMap fathermap = new HashMap(); private HashMap fathermaptemp = new HashMap(); private DBConnection dcon = null; private JButton btn_return = new JButton(); private JScrollPane table_pan = new JScrollPane(); private Mytable model; private JTable table; private String tempID = ""; public Asset_kinds_set_father(String _user) { try { this.user = _user; jbInit(); } catch (Exception ex) { ex.printStackTrace(); } }
private void jbInit() throws Exception { this.setSize(new Dimension(500, 350)); this.setLayout(null); Asset_manager_set_modi.setBounds(new Rectangle(171, 37, 65, 32)); Asset_manager_set_add.setBounds(new Rectangle(57, 35, 70, 31)); Asset_manager_set_del.setBounds(new Rectangle(264, 36, 64, 32)); btn_return.setBounds(new Rectangle(369, 37, 62, 31)); btn_return.setToolTipText(""); btn_return.setText("返回"); table_pan.setBounds(new Rectangle(6, 84, 491, 265)); this.add(table_pan); this.add(btn_return); this.add(Asset_manager_set_add); this.add(Asset_manager_set_modi); this.add(Asset_manager_set_del); model = new Mytable(1); model.setTitle(getTitle()); model.setContent(getContents()); table = new JTable(model); table.setRowSelectionAllowed(false); table_pan.getViewport().add(table); table.setRowSelectionAllowed(false); tmd = table.getModel(); table.setFont(new Font("宋体", 1, 17)); initfathermaptemp(); tempID = "";
//表格行选择的变更 table.addMouseListener(new MouseListener() { public void mouseClicked(MouseEvent e) { if (table.getSelectedColumn() != -1 && table.getSelectedRow() != -1) { tempID = table.getValueAt(table.getSelectedRow(), 0). toString(); } else { tempID = ""; } }
public void mousePressed(MouseEvent e) { }
public void mouseReleased(MouseEvent e) { }
public void mouseEntered(MouseEvent e) { }
public void mouseExited(MouseEvent e) { } }); btn_return.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { closeAsset_kinds_set(); } }); //表格的变动 tmd.addTableModelListener(new TableModelListener() { public void tableChanged(TableModelEvent e) { String table_id = table.getValueAt(table.getSelectedRow(), 0). toString().trim(); String table_name = table.getValueAt(table.getSelectedRow(), 1). toString().trim(); String temp_name = returnTemp(table_id).trim(); if (!temp_name.equals(table_name)) { if (fathermap.containsKey(table_id)) { Set set = fathermap.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry me = (Map.Entry) it.next(); if (me.getKey().toString().trim().equals( table_id)) { me.setValue(table_name); break; } } } else { fathermap.put(table_id, table_name); } modifathertempMap(table_id, table_name); } } }); Asset_manager_set_modi.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (fathermap.size() != 0) { dcon = new DBConnection(); Set set = fathermap.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry me = (Map.Entry) it.next(); String id = me.getKey().toString().trim(); String name = me.getValue().toString().trim(); String sql = "update FatherKind set fatherkind_name = '" + name + "' where fatherkind_id='" + id + "'"; dcon.update(1, sql); } JOptionPane.showMessageDialog(table_pan, "修改了" + fathermap.size() + "条记录"); fathermap.clear(); fathermaptemp.clear(); initfathermaptemp(); } } }); Asset_manager_set_del.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (tempID.trim().length() == 0) { JOptionPane.showMessageDialog(table_pan, "还没有选择要操作的记录"); } else { dcon = new DBConnection(); String sql = "select * from ChildKind where fatherkind_id='" + tempID.trim() + "'"; if (dcon.isNull(sql)) { JOptionPane.showMessageDialog(table_pan, "下级科目有该类型的记录,不能删除"); } else { sql = "delete from FatherKind where fatherkind_id='" + tempID.trim() + "'"; dcon.update(1, sql); JOptionPane.showMessageDialog(table_pan, "ID是" + tempID + "被删除"); model.setContent(getContents()); table.updateUI(); fathermap.clear(); fathermaptemp.clear(); initfathermaptemp();
} } tempID = ""; } }); Asset_manager_set_add.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { add(); } }); }
//增加 private void add() { fatherkindadd fkm = new fatherkindadd(); Dimension frmsize = getSize(); Point loc = getLocation(); fkm.setLocation((frmsize.width - fkm.WIDTH) / 2 + loc.x, (frmsize.height - fkm.HEIGHT) / 2 + loc.y); fkm.setSize(250, 250); fkm.setModal(true); fkm.setVisible(true); model.setContent(getContents()); table.updateUI(); this.updateUI(); fathermap.clear(); fathermaptemp.clear(); initfathermaptemp();
}
//初始化一级科目的临时表 private void initfathermaptemp() { dcon = new DBConnection(); String sql = "select fatherkind_id as 科目编号 ,fatherkind_name as 科目名称 from FatherKind"; Vector v = dcon.select(sql); for (int i = 0; i < v.size(); i++) { String id = ((Vector) v.get(i)).get(0).toString(); String name = ((Vector) v.get(i)).get(1).toString(); fathermaptemp.put(id, name); } }
//修改临时的一级科目的临时表 private void modifathertempMap(String id, String m) { Set set = fathermaptemp.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry me = (Map.Entry) it.next(); if (me.getKey().toString().equals(id)) { me.setValue(m); break; } } }
//返回修改的 private String returnTemp(String id) { Set set = fathermaptemp.entrySet(); Iterator it = set.iterator(); String s = ""; while (it.hasNext()) { Map.Entry me = (Map.Entry) it.next(); if (me.getKey().toString().equals(id)) { s = me.getValue().toString(); break; } } return s; }
//获取表格的列表 private String[] getTitle() { dcon = new DBConnection(); String sql = "select fatherkind_id as 科目编号 ,fatherkind_name as 科目名称 from FatherKind"; return dcon.getColumnname(sql); }
//获取表格的内容 private Vector getContents() { dcon = new DBConnection(); String sql = "select fatherkind_id as 科目编号 ,fatherkind_name as 科目名称 from FatherKind"; return dcon.select(sql); }
//关闭Asset_manager_set private void closeAsset_kinds_set() { this.removeAll(); Asset_OP asp = new Asset_OP(user); this.add(asp); this.updateUI(); }}