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

📄 codeset.java~40~

📁 java房产管理系统
💻 JAVA~40~
字号:
import javax.swing.*;
import java.awt.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;
import java.sql.*;

public class CodeSet
    extends JFrame {
  JLabel jLabel1 = new JLabel();
  XYLayout xYLayout1 = new XYLayout();
  JComboBox cboCode = new JComboBox();
  JScrollPane jScrollPane1 = new JScrollPane();
  JTextField txtCodeDes = new JTextField();
  JButton btnAdd = new JButton();
  JButton btnEdit = new JButton();
  JButton btnDelete = new JButton();
  JButton btnSave = new JButton();
  JButton btnExit = new JButton();
  JLabel jLabel2 = new JLabel();
  JTextField txtCode = new JTextField();
  JLabel jLabel3 = new JLabel();
//用二维数组存储系统中所用到的代码表物理名称及逻辑名称
  String codeTables[][] = {
      {
      "Gender", "性别"}
      , {
      "Heading", "房屋朝向"}
      , {
      "HouseType", "房屋类型"}
      , {
      "HouseUsage", "房屋用途"}
      , {
      "Relation", "与房主关系"}
      , {
      "UseType", "使用方式"}
  };
  DefaultTableModel model = new DefaultTableModel();
//定义JTable为DefaultTableModel的实例model模式
  JTable tblCode = new JTable(model);
  //代码ID列表,用于建立列表序号与代码值的对应关系
  LinkedList linkID = new LinkedList();
  //生成数据库操作类新实例,用于数据库操作
  DBManager db = new DBManager();
  String curTable = new String();
  String curID = new String();
  boolean isInit;
  String operType = new String();
  public CodeSet() {
    try {
      jbInit();
      initForm();
    }
    catch (Exception ex) {
      ex.printStackTrace();
    }
  }

  void jbInit() throws Exception {
    jLabel1.setFont(new java.awt.Font("宋体", 0, 12));
    jLabel1.setText("选择要维护的代码表:");
    this.getContentPane().setLayout(xYLayout1);
    cboCode.setBackground(SystemColor.activeCaptionBorder);
    cboCode.setFont(new java.awt.Font("宋体", 0, 12));
    cboCode.addActionListener(new CodeSet_cboCode_actionAdapter(this));
    xYLayout1.setWidth(388);
    xYLayout1.setHeight(311);
    btnAdd.setFont(new java.awt.Font("宋体", 0, 12));
    btnAdd.setText("新增");
    btnAdd.addActionListener(new CodeSet_btnAdd_actionAdapter(this));
    btnEdit.setFont(new java.awt.Font("宋体", 0, 12));
    btnEdit.setText("修改");
    btnEdit.addActionListener(new CodeSet_btnEdit_actionAdapter(this));
    btnDelete.setText("删除");
    btnDelete.addActionListener(new CodeSet_btnDelete_actionAdapter(this));
    btnDelete.setFont(new java.awt.Font("宋体", 0, 12));
    btnSave.setText("保存");
    btnSave.addActionListener(new CodeSet_btnSave_actionAdapter(this));
    btnSave.setFont(new java.awt.Font("宋体", 0, 12));
    btnExit.setText("退出");
    btnExit.addActionListener(new CodeSet_btnExit_actionAdapter(this));
    btnExit.setFont(new java.awt.Font("宋体", 0, 12));
    txtCodeDes.setFont(new java.awt.Font("宋体", 0, 12));
    txtCodeDes.setText("");
    this.setTitle("代码表设置");
    jLabel2.setText("代码值:");
    jLabel2.setFont(new java.awt.Font("宋体", 0, 12));
    txtCode.setFont(new java.awt.Font("宋体", 0, 12));
    txtCode.setText("");
    jLabel3.setFont(new java.awt.Font("宋体", 0, 12));
    jLabel3.setText("代码描述:");
    tblCode.setFont(new java.awt.Font("宋体", 0, 12));
    tblCode.setVerifyInputWhenFocusTarget(false);
    tblCode.addMouseListener(new CodeSet_tblCode_mouseAdapter(this));
    this.getContentPane().add(jScrollPane1, new XYConstraints(19, 77, 346, 146));
    jScrollPane1.getViewport().add(tblCode, null);
    this.getContentPane().add(jLabel1, new XYConstraints(21, 14, 136, -1));
    this.getContentPane().add(cboCode, new XYConstraints(20, 38, 345, 26));
    this.getContentPane().add(txtCodeDes, new XYConstraints(189, 231, 176, 25));
    this.getContentPane().add(btnExit, new XYConstraints(300, 267, 61, 27));
    this.getContentPane().add(btnSave, new XYConstraints(231, 267, 61, 27));
    this.getContentPane().add(btnEdit, new XYConstraints(86, 267, 61, 27));
    this.getContentPane().add(btnAdd, new XYConstraints(19, 267, 61, 27));
    this.getContentPane().add(btnDelete, new XYConstraints(155, 267, 61, 27));
    this.getContentPane().add(jLabel2, new XYConstraints(17, 236, 52, -1));
    this.getContentPane().add(txtCode, new XYConstraints(65, 231, 51, 25));
    this.getContentPane().add(jLabel3, new XYConstraints(125, 237, 65, -1));
  }

  void initForm() {
    isInit = true;
    for (int i = 0; i < codeTables.length; i++) {
      cboCode.addItem(codeTables[i][1]);
    }
    cboCode.setSelectedItem(null);
    isInit = false;
    txtCode.setEnabled(false);
    txtCodeDes.setEnabled(false);
    btnSetEnabled(false, false, false, false);
  }

  void setOperType(String type) {
    operType = type;
  }

  void setCurID(String ID) {
    curID = ID;
  }

  void btnSetEnabled(boolean add, boolean edit, boolean delete, boolean save) {
    btnAdd.setEnabled(add);
    btnEdit.setEnabled(edit);
    btnDelete.setEnabled(delete);
    btnSave.setEnabled(save);
  }

  void fullCode(String table) {
    String sql = "select * from " + table + " order by CODE";
    Vector tempvector;
    linkID.clear();
    model.setColumnCount(0);
    model.setRowCount(0);
    model.addColumn("代码值");
    model.addColumn("代码描述");
    try {
      ResultSet rs = db.getResult(sql);
      if (rs.first()) {
        rs.beforeFirst();
        while (rs.next()) {
          tempvector = new Vector(1, 1);
          tempvector.add(rs.getString("CODE"));
          linkID.add(rs.getString("CODE"));
          tempvector.add(rs.getString("DESCRIPTION"));
          model.addRow(tempvector);
        }
        rs.close();
      }
      else {
        CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "代码表为空!");
        rs.close();
      }
    }
    catch (Exception e) {
      e.printStackTrace();
    }
    setOperType("none");
  }

  void btnExit_actionPerformed(ActionEvent e) {
    if (!operType.equals("none")) {
      int ir = CommonDialog.showDialog(3, "房产管理系统", "当前操作尚未保存,确定要退出吗?");
      if (ir == 2) {
        return;
      }
    }
    this.dispose();

  }

  void cboCode_actionPerformed(ActionEvent e) {
    if (!isInit) {
      curTable = codeTables[cboCode.getSelectedIndex()][0];
      fullCode(curTable);
    }
  }

  void tblCode_mouseClicked(MouseEvent e) {
    curID = (linkID.get(tblCode.getSelectedRow())).toString();
    txtCode.setText(curID);
    txtCodeDes.setText(db.getByField(curTable, "DESCRIPTION",
                                     "CODE='" + curID + "'"));
    btnSetEnabled(true,true,true,false);
  }

  void btnAdd_actionPerformed(ActionEvent e) {
    if (!operType.equals("none")) {
      int ir = CommonDialog.showDialog(3, "房产管理系统", "当前操作尚未保存,确定要新增吗?");
      if (ir == 2) {
        return;
      }
    }
    txtCodeDes.setEnabled(true);
    String code=new String();
    code = db.getID(curTable, "CODE");
    txtCode.setText(code);
    txtCodeDes.setText("");
    btnSetEnabled(true, false, false, true);
    setCurID("");
    setOperType("add");
  }

  boolean checkData() {
    if (txtCode.getText().trim().equals("")) {
      CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "代码值不能为空!");
      txtCode.setFocusable(true);
      return false;
    }
    if (txtCodeDes.getText().trim().equals("")) {
      CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "代码描述不能为空!");
      txtCodeDes.setFocusable(true);
      return false;
    }

    return true;
  }

  void btnEdit_actionPerformed(ActionEvent e) {
    txtCode.setEnabled(false);
    txtCodeDes.setEnabled(true);
    btnSetEnabled(true, true, false, true);
    setOperType("edit");
  }

  void btnSave_actionPerformed(ActionEvent e) {
    if (!checkData()) {
      return;
    }
    String sql = new String();

    if (operType.equals("add")) {
      sql = "insert into "+curTable+" values('" + txtCode.getText() + "','" +
          txtCodeDes.getText() +"')";
    }
    else if (operType.equals("edit")) {
      sql = "update "+ curTable+" set DESCRIPTION='" + txtCodeDes.getText() + "' where CODE='" + curID + "'";
    }
    if (db.executeSql(sql)) {
      CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "数据库操作成功!");
      btnSetEnabled(true, true, true, false);
      setOperType("none");
      fullCode(curTable);
      txtCodeDes.setEnabled(false);
    }
    else {
      CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "数据库操作失败,请重试!");
    }

  }

  void btnDelete_actionPerformed(ActionEvent e) {
    if (!curID.equals("")) {
      int ir = CommonDialog.showDialog(3, "房产管理系统", "确定要删除当前记录吗?");
      if (ir == 2) {
        return;
      }
      String sql = "delete from "+curTable+" where CODE='" + curID + "'";
      if (db.executeSql(sql)) {
        CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "删除记录成功!");
        txtCode.setText("");
        txtCodeDes.setText("");
        btnSetEnabled(true, false, false, false);
        setOperType("none");
        fullCode(curTable);
      }
      else {
        CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "删除记录失败,请重试!");
      }
    }

  }
}

class CodeSet_btnExit_actionAdapter
    implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_btnExit_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

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

class CodeSet_cboCode_actionAdapter
    implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_cboCode_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

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

class CodeSet_tblCode_mouseAdapter
    extends java.awt.event.MouseAdapter {
  CodeSet adaptee;

  CodeSet_tblCode_mouseAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

  public void mouseClicked(MouseEvent e) {
    adaptee.tblCode_mouseClicked(e);
  }
}

class CodeSet_btnAdd_actionAdapter
    implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_btnAdd_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

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

class CodeSet_btnEdit_actionAdapter
    implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_btnEdit_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

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

class CodeSet_btnSave_actionAdapter
    implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_btnSave_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }

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

class CodeSet_btnDelete_actionAdapter implements java.awt.event.ActionListener {
  CodeSet adaptee;

  CodeSet_btnDelete_actionAdapter(CodeSet adaptee) {
    this.adaptee = adaptee;
  }
  public void actionPerformed(ActionEvent e) {
    adaptee.btnDelete_actionPerformed(e);
  }
}

⌨️ 快捷键说明

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