📄 familyinfo.java~24~
字号:
import javax.swing.*;
import java.awt.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;
import java.sql.*;
public class FamilyInfo
extends JFrame {
JButton btnExit = new JButton();
JLabel jLabel8 = new JLabel();
JButton btnAdd = new JButton();
JLabel jLabel1 = new JLabel();
JButton btnSave = new JButton();
JTextField txtWorkTime = new JTextField();
JLabel jLabel9 = new JLabel();
JButton btnDelete = new JButton();
JButton btnEdit = new JButton();
JTextField txtBirthday = new JTextField();
JTextField txtName = new JTextField();
JPanel jPanel1 = new JPanel();
XYLayout xYLayout2 = new XYLayout();
JLabel jLabel10 = new JLabel();
JComboBox cboGender = new JComboBox();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel11 = new JLabel();
JTextField txtFamilyName = new JTextField();
JLabel jLabel2 = new JLabel();
JComboBox cboRelation = new JComboBox();
JScrollPane jScrollPane1 = new JScrollPane();
JList lstFamily = new JList();
DBManager db = new DBManager(); //数据库操作
String operType = new String(); //操作类型
String curID = new String();
public FamilyInfo() {
try {
jbInit();
initForm();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public FamilyInfo(String ID) {
try {
jbInit();
setCurID(ID);
initForm();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void jbInit() throws Exception {
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setLayout(xYLayout2);
txtName.setFont(new java.awt.Font("宋体", 0, 12));
txtName.setText("");
txtBirthday.setText("");
txtBirthday.setFont(new java.awt.Font("宋体", 0, 12));
btnEdit.setText("修改");
btnEdit.addActionListener(new FamilyInfo_btnEdit_actionAdapter(this));
btnEdit.setFont(new java.awt.Font("宋体", 0, 12));
btnDelete.setText("删除");
btnDelete.addActionListener(new FamilyInfo_btnDelete_actionAdapter(this));
btnDelete.setFont(new java.awt.Font("宋体", 0, 12));
jLabel9.setText("工作时间:");
jLabel9.setFont(new java.awt.Font("宋体", 0, 12));
txtWorkTime.setText("");
txtWorkTime.setFont(new java.awt.Font("宋体", 0, 12));
btnSave.setText("保存");
btnSave.addActionListener(new FamilyInfo_btnSave_actionAdapter(this));
btnSave.setFont(new java.awt.Font("宋体", 0, 12));
jLabel1.setFont(new java.awt.Font("宋体", 0, 12));
jLabel1.setText("出生年月:");
btnAdd.setFont(new java.awt.Font("宋体", 0, 12));
btnAdd.setText("新增");
btnAdd.addActionListener(new FamilyInfo_btnAdd_actionAdapter(this));
jLabel8.setText("房主姓名:");
jLabel8.setRequestFocusEnabled(true);
jLabel8.setFont(new java.awt.Font("宋体", 0, 12));
btnExit.setText("退出");
btnExit.addActionListener(new FamilyInfo_btnExit_actionAdapter(this));
btnExit.setFont(new java.awt.Font("宋体", 0, 12));
this.getContentPane().setLayout(xYLayout1);
jLabel10.setText("性别:");
jLabel10.setFont(new java.awt.Font("宋体", 0, 12));
cboGender.setFont(new java.awt.Font("宋体", 0, 12));
this.setTitle("房主家庭信息");
jLabel11.setText("家属姓名:");
jLabel11.setRequestFocusEnabled(true);
jLabel11.setFont(new java.awt.Font("宋体", 0, 12));
txtFamilyName.setFont(new java.awt.Font("宋体", 0, 12));
txtFamilyName.setText("");
jLabel2.setFont(new java.awt.Font("宋体", 0, 12));
jLabel2.setText("关系:");
cboRelation.setFont(new java.awt.Font("宋体", 0, 12));
cboRelation.setEditable(false);
xYLayout1.setWidth(437);
xYLayout1.setHeight(362);
jPanel1.add(jLabel8, new XYConstraints(12, 15, 68, -1));
jPanel1.add(txtName, new XYConstraints(76, 11, 111, 24));
jPanel1.add(jLabel2, new XYConstraints(12, 53, 50, -1));
jPanel1.add(txtBirthday, new XYConstraints(76, 88, 112, 24));
jPanel1.add(cboRelation, new XYConstraints(76, 51, 112, 24));
jPanel1.add(jLabel1, new XYConstraints(13, 94, 68, -1));
jPanel1.add(txtFamilyName, new XYConstraints(266, 11, 111, 24));
jPanel1.add(cboGender, new XYConstraints(266, 51, 112, 24));
jPanel1.add(txtWorkTime, new XYConstraints(266, 89, 112, 24));
jPanel1.add(jLabel11, new XYConstraints(201, 17, 63, -1));
jPanel1.add(jLabel10, new XYConstraints(201, 57, 50, -1));
jPanel1.add(jLabel9, new XYConstraints(201, 91, 61, -1));
jPanel1.add(btnEdit, new XYConstraints(80, 272, 61, 27));
jPanel1.add(btnExit, new XYConstraints(321, 272, 61, 27));
jPanel1.add(btnSave, new XYConstraints(256, 272, 61, 27));
jPanel1.add(btnDelete, new XYConstraints(145, 272, 61, 27));
jPanel1.add(btnAdd, new XYConstraints(16, 272, 61, 27));
jPanel1.add(jScrollPane1, new XYConstraints(13, 133, 366, 119));
jScrollPane1.getViewport().add(lstFamily, null);
this.getContentPane().add(jPanel1, new XYConstraints(16, 17, 401, 322));
}
void btnExit_actionPerformed(ActionEvent e) {
if (!operType.equals("none")) {
int ir = CommonDialog.showDialog(3, "房产管理系统", "当前操作尚未保存,确定要退出吗?");
if (ir == 2) {
return;
}
}
this.dispose();
}
void setCurID(String ID) {
curID = ID;
}
void setOperType(String type) {
operType = type;
}
void btnAdd_actionPerformed(ActionEvent e) {
if (!operType.equals("none")) {
int ir = CommonDialog.showDialog(3, "房产管理系统", "当前操作尚未保存,确定要新增吗?");
if (ir == 2) {
return;
}
}
groupSetEnabled(true);
btnSetEnabled(true, false, false, true);
clearData();
setCurID("");
setOperType("add");
}
void initForm() {
groupSetEnabled(false);
db.fullCombo(cboGender, "Gender");
db.fullCombo(cboRelation, "Relation");
setOperType("none");
if (!curID.equals("")) {
fullInfo(curID);
btnSetEnabled(true, true, true, false);
}
else {
btnSetEnabled(true, false, false, false);
}
}
void fullInfo(String ID) {
String sql = "select * from FamilyInfo where ID='" + ID + "'";
try {
ResultSet rs = db.getResult(sql);
if (rs.first()) {
txtName.setText(db.getByField("OwnerInfo", "Name",
"ID='" + rs.getString("OwnerID") + "'"));
txtFamilyName.setText(rs.getString("Name"));
cboGender.setSelectedIndex(Integer.parseInt(rs.getString("Gender")) - 1);
cboRelation.setSelectedIndex(Integer.parseInt(rs.getString("Relation")) -
1);
txtBirthday.setText(rs.getString("Birthday"));
txtWorkTime.setText(rs.getString("WorkTime"));
}
else {
rs.close();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
void groupSetEnabled(boolean enabled) {
txtName.setEnabled(enabled);
txtFamilyName.setEnabled(enabled);
cboRelation.setEnabled(enabled);
cboGender.setEnabled(enabled);
txtBirthday.setEnabled(enabled);
txtWorkTime.setEnabled(enabled);
}
void btnSetEnabled(boolean add, boolean edit, boolean delete, boolean save) {
btnAdd.setEnabled(add);
btnEdit.setEnabled(edit);
btnDelete.setEnabled(delete);
btnSave.setEnabled(save);
}
void clearData() {
txtName.setText("");
txtFamilyName.setText("");
cboGender.setSelectedItem(null);
cboRelation.setSelectedItem(null);
txtBirthday.setText("");
txtWorkTime.setText("");
}
boolean checkData() {
if (txtName.getText().trim().equals("")) {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "房主姓名不能为空!");
txtName.setFocusable(true);
return false;
}
if (txtFamilyName.getText().trim().equals("")) {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "家属姓名不能为空!");
txtFamilyName.setFocusable(true);
return false;
}
return true;
}
String getOwnerID(String owner) {
String sql = "select * from OwnerInfo where name='" + owner + "'";
String ID = new String();
try {
ResultSet rs = db.getResult(sql);
if (rs.first()) {
ID = rs.getString("ID");
}
else {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "当前房主不存在,请先增加其基本信息!");
rs.close();
return "";
}
}
catch (Exception e) {
e.printStackTrace();
}
return ID;
}
void btnSave_actionPerformed(ActionEvent e) {
if (!checkData()) {
return;
}
String sql = new String();
String id = new String();
String ownerID = new String();
String gender = new String();
String relation = new String();
ownerID = getOwnerID(txtName.getText());
if (ownerID.equals("")) {
return;
}
if (cboGender.getSelectedIndex() >= 0) {
gender = db.CodeDesConvert("Gender", "",
cboGender.getSelectedItem().toString(), 0);
}
if (cboRelation.getSelectedIndex() >= 0) {
relation = db.CodeDesConvert("Relation", "",
cboRelation.getSelectedItem().toString(), 0);
}
if (operType.equals("add")) {
id = db.getID("FamilyInfo");
setCurID(id);
sql = "insert into FamilyInfo values('" + id + "','" + ownerID + "','" +
txtName.getText() + "','" + gender + "','" + relation + "','" +
txtBirthday.getText() + "','" + txtWorkTime.getText() + "')";
}
else if (operType.equals("edit")) {
sql = "update FamilyInfo set ownerID='" + ownerID + "',";
sql = sql + " name='" + txtName.getText() + "',";
sql = sql + " Gender='" + gender + "',";
sql = sql + " Relation='" + relation + "',";
sql = sql + " Birthday='" + txtBirthday.getText() + "',";
sql = sql + " WorkTime='" + txtWorkTime.getText() + "',";
sql = sql + " where ID='" + curID + "'";
}
if (db.executeSql(sql)) {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "新增家庭信息成功!");
groupSetEnabled(false);
btnSetEnabled(true, true, true, false);
setOperType("none");
}
else {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "新增家庭信息失败!");
}
clearData();
operType = "none";
}
void btnEdit_actionPerformed(ActionEvent e) {
groupSetEnabled(true);
btnSetEnabled(true, true, true, true);
setOperType("edit");
}
void btnDelete_actionPerformed(ActionEvent e) {
if (!curID.equals("")) {
int ir = CommonDialog.showDialog(3, "房产管理系统", "确定要删除当前记录吗?");
if (ir == 2) {
return;
}
String sql = "delete from FamilyInfo where ID='" + curID + "'";
if (db.executeSql(sql)) {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "删除记录成功!");
clearData();
groupSetEnabled(false);
btnSetEnabled(true, false, false, false);
setOperType("none");
}
else {
CommonDialog.showDialog(CommonDialog.OK, "房产管理系统", "删除记录失败,请重试!");
}
}
}
}
class FamilyInfo_btnExit_actionAdapter
implements java.awt.event.ActionListener {
FamilyInfo adaptee;
FamilyInfo_btnExit_actionAdapter(FamilyInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnExit_actionPerformed(e);
}
}
class FamilyInfo_btnAdd_actionAdapter
implements java.awt.event.ActionListener {
FamilyInfo adaptee;
FamilyInfo_btnAdd_actionAdapter(FamilyInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnAdd_actionPerformed(e);
}
}
class FamilyInfo_btnSave_actionAdapter
implements java.awt.event.ActionListener {
FamilyInfo adaptee;
FamilyInfo_btnSave_actionAdapter(FamilyInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnSave_actionPerformed(e);
}
}
class FamilyInfo_btnEdit_actionAdapter
implements java.awt.event.ActionListener {
FamilyInfo adaptee;
FamilyInfo_btnEdit_actionAdapter(FamilyInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnEdit_actionPerformed(e);
}
}
class FamilyInfo_btnDelete_actionAdapter
implements java.awt.event.ActionListener {
FamilyInfo adaptee;
FamilyInfo_btnDelete_actionAdapter(FamilyInfo adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnDelete_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -