物业管理系统系统详细设计

界面设计与功能

经过以上的分析及建摸模,已经完成了数据库的后台工作。下面要完成的是

人机交互的界面。本系统分为以下三部分:

(1) 用户登陆;

(2) 系统主体平台;

(3) 通过主体平台调用的功能模块。

接下来即对各部分作详细介绍:

5.2  用户登陆部分

启动系统程序后,首先进入系统登陆界面,在登陆进入主体平台的时候,系统会要求用户输入用户名及密码作为验证信息,为了防止非用户在使用,输入正常信息后便可以使用本系统。

本模块代码如下:

package login;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.sql.*;

import wymanagesystem.MainFrame;

/**

 *

 * @author  召峰

 */

public class LoginFrame extends javax.swing.JFrame {

     private String name;

     private String pwd;

    /** Creates new form LoginFrame */

    public LoginFrame() {

        super("用户登录");

        initComponents();

        setSize(375,325);

        Dimension screen=getToolkit().getScreenSize();

        setLocation((screen.width-getSize().width)/2, (screen.height-getSize().height)/2);

        try{

            String theLook=UIManager.getSystemLookAndFeelClassName();

            UIManager.setLookAndFeel(theLook);

            SwingUtilities.updateComponentTreeUI(this);

        }

        catch(Exception e){

            System.err.println("异常:"+e);

        }

    }

    

    /** This method is called from within the constructor to

     * initialize the form.

     * WARNING: Do NOT modify this code. The content of this method is

     * always regenerated by the Form Editor.

     */

    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents

    private void initComponents() {

        inputs = new javax.swing.JPanel();

        labels = new javax.swing.JPanel();

        nameLabel = new javax.swing.JLabel();

        pwdLabel = new javax.swing.JLabel();

        texts = new javax.swing.JPanel();

        id = new javax.swing.JTextField();

        password = new javax.swing.JPasswordField();

        buttons = new javax.swing.JPanel();

        ok = new javax.swing.JButton();

        cancel = new javax.swing.JButton();

        jPanel5 = new javax.swing.JPanel();

        icon = new javax.swing.JLabel();

        getContentPane().setLayout(null);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        setName("\u767b\u5f55");

        setResizable(false);

        inputs.setLayout(null);

        inputs.setBorder(new javax.swing.border.EtchedBorder());

        labels.setLayout(null);

        nameLabel.setText("\u7528\u6237\u540d\uff1a");

        labels.add(nameLabel);

        nameLabel.setBounds(30, 20, 60, 20);

        pwdLabel.setText("\u5bc6\u7801\uff1a");

        labels.add(pwdLabel);

        pwdLabel.setBounds(30, 70, 50, 15);

        inputs.add(labels);

        labels.setBounds(10, 10, 100, 110);

        texts.setLayout(null);

        id.setToolTipText("\u8f93\u5165\u7528\u6237\u540d");

        id.setName("");

        texts.add(id);

        id.setBounds(10, 20, 140, 20);

        password.setToolTipText("\u8bf7\u8f93\u5165\u5bc6\u7801");

        password.setNextFocusableComponent(ok);

        texts.add(password);

        password.setBounds(10, 70, 140, 20);

        inputs.add(texts);

        texts.setBounds(120, 10, 220, 110);

        getContentPane().add(inputs);

        inputs.setBounds(10, 70, 350, 130);

        buttons.setLayout(null);

        buttons.setBorder(new javax.swing.border.EtchedBorder());

        ok.setText("\u767b\u5f55");

        ok.setToolTipText("\u767b\u5f55");

        ok.setNextFocusableComponent(ok);

        ok.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                okActionPerformed(evt);

            }

        });

        buttons.add(ok);

        ok.setBounds(50, 20, 70, 23);

        cancel.setText("\u53d6\u6d88");

        cancel.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                cancelActionPerformed(evt);

            }

        });

        buttons.add(cancel);

        cancel.setBounds(210, 20, 70, 23);

        getContentPane().add(buttons);

        buttons.setBounds(10, 210, 350, 60);

        jPanel5.setLayout(null);

        icon.setFont(new java.awt.Font("华文行楷", 1, 36));

        icon.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);

        icon.setIcon(new javax.swing.ImageIcon("F:\\netbeans\\WyManageSystem\\images\\logo.jpg"));

        jPanel5.add(icon);

        icon.setBounds(0, 0, 350, 50);

        getContentPane().add(jPanel5);

        jPanel5.setBounds(10, 10, 350, 50);

    }

    // </editor-fold>//GEN-END:initComponents

    private void okActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_okActionPerformed

// TODO 将在此处添加您的处理代码:登录

       name=id.getText().trim();//用户名

       pwd=new String(password.getPassword());//用户密码

        if(name.equals("")||pwd.equals("")){

            JOptionPane.showMessageDialog(this,"用户名或密码不能为空","登录",JOptionPane.INFORMATION_MESSAGE);

        }

        else{

           try{

               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//加载驱动

               Connection conn=DriverManager.getConnection("jdbc:odbc:wySystem","admin", "admin");//连接数据库

               String sql="select id,password from login where id=?";

               PreparedStatement pre=conn.prepareCall(sql);//查询表login的sql语句

               pre.clearParameters();

               pre.setString(1,name);

               ResultSet rs=pre.executeQuery();

               if(rs.next()){

                   String pass=rs.getString("password").trim();

                   if(pwd.regionMatches(0,pass,0,pass.length())){

                       this.dispose();

                       new MainFrame().setVisible(true);

                   }

                   else{

                        JOptionPane.showMessageDialog(this,"密码不正确","登录",JOptionPane.WARNING_MESSAGE);

                   }

               }

               else{

                   JOptionPane.showMessageDialog(this,"用户名不存在","登录",JOptionPane.WARNING_MESSAGE);

               }

               rs.close();

               conn.close();

           }

           catch(Exception e){

               JOptionPane.showMessageDialog(this,"登录异常"+e.toString(),"登录",JOptionPane.WARNING_MESSAGE);

           }

        }

    }//GEN-LAST:event_okActionPerformed

    private void cancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelActionPerformed

        System.exit(0);   //退出登录程序

    }//GEN-LAST:event_cancelActionPerformed

    

    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new LoginFrame().setVisible(true);

            }

        });

    }

    

    // 变量声明 - 不进行修改//GEN-BEGIN:variables

    private javax.swing.JPanel buttons;

    private javax.swing.JButton cancel;

    private javax.swing.JLabel icon;

    private javax.swing.JTextField id;

    private javax.swing.JPanel inputs;

    private javax.swing.JPanel jPanel5;

    private javax.swing.JPanel labels;

    private javax.swing.JLabel nameLabel;

    private javax.swing.JButton ok;

    private javax.swing.JPasswordField password;

    private javax.swing.JLabel pwdLabel;

    private javax.swing.JPanel texts;

    // 变量声明结束//GEN-END:variables

    

}

5.3  小区住户信息管理模块

住户资料主要是对住户的基本信息如 (住户电话、住户姓名、物业地址、身份证号、入住时间等信息)和另外两个标签的信息进行添加、修改、删除、查询。添加、修改、删除这些操作必须保存后才能生效。当记录较多,通过简单的查询可以方便的找的目标记录,查询结果已表格方式显示。表格显示结果的同时,如果还出现多条记录,可以根据某个字段对记录进行排序,这样可以给用户带来更大的方便和提高查找效率。

本模块代码如下:

package wymanagesystem;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import login.MpassFrame;

import login.AbortFrame;

import resourceInfoManage.*;

import KHSManage.*;

import SFManage.*;

/**

 *

 * @author  召峰

 */

public class MainFrame extends javax.swing.JFrame {

    

    /** Creates new form MainFrame */

    public MainFrame() {

        super("小区物业管理系统");

        try{

            String theLook=UIManager.getSystemLookAndFeelClassName();//更新界面

            UIManager.setLookAndFeel(theLook);

            SwingUtilities.updateComponentTreeUI(this);

        }

        catch(Exception e){

            System.err.println("异常:"+e);

        }

        initComponents();

        setSize(550,450);

        logo.setSize(getSize().width,100);

        jControlTab.setSize(getSize().width,jControlPanel.getSize().height);

        jControlPanel.setSize(getSize().width,getSize().height-100);

        Dimension screen=getToolkit().getScreenSize();

        setLocation((screen.width-getSize().width)/2, (screen.height-getSize().height)/2);

        

    }

    

    /** This method is called from within the constructor to

     * initialize the form.

     * WARNING: Do NOT modify this code. The content of this method is

     * always regenerated by the Form Editor.

     */

    // <editor-fold defaultstate="collapsed" desc=" 生成的代码 ">//GEN-BEGIN:initComponents

    private void initComponents() {

        logo = new javax.swing.JLabel();

        jControlPanel = new javax.swing.JPanel();

        jControlTab = new javax.swing.JTabbedPane();

        jZYM = new javax.swing.JPanel();

        jBtn_FC = new javax.swing.JButton();

        jBtn_KH = new javax.swing.JButton();

        jBtn_SF = new javax.swing.JButton();

        jKHSM = new javax.swing.JPanel();

        jBtn_TSM = new javax.swing.JButton();

        jBtn_WXM = new javax.swing.JButton();

        jBtn_TCCM = new javax.swing.JButton();

        jSFM = new javax.swing.JPanel();

        jBt_SFI = new javax.swing.JButton();

        jbt_CH = new javax.swing.JButton();

        jbt_CHQ = new javax.swing.JButton();

        jSysM = new javax.swing.JPanel();

        jSysMUpdate = new javax.swing.JButton();

        jSysMAbort = new javax.swing.JButton();

        jSysMExit = new javax.swing.JButton();

        getContentPane().setLayout(null);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        setResizable(false);

        logo.setIcon(new javax.swing.ImageIcon("F:\\netbeans\\WyManageSystem\\images\\nuist.jpg"));

        getContentPane().add(logo);

        logo.setBounds(0, 0, 650, 100);

        jControlPanel.setLayout(null);

        jControlPanel.setBorder(new javax.swing.border.EtchedBorder());

        jControlTab.setTabPlacement(javax.swing.JTabbedPane.LEFT);

        jControlTab.setFont(new java.awt.Font("宋体", 0, 14));

        jZYM.setLayout(null);

        jBtn_FC.setText("\u623f\u4ea7\u8d44\u6e90");

        jBtn_FC.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_FCActionPerformed(evt);

            }

        });

        jZYM.add(jBtn_FC);

        jBtn_FC.setBounds(80, 70, 90, 40);

        jBtn_KH.setText("\u4e1a\u4e3b\u4fe1\u606f");

        jBtn_KH.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_KHActionPerformed(evt);

            }

        });

        jZYM.add(jBtn_KH);

        jBtn_KH.setBounds(220, 70, 90, 40);

        jBtn_SF.setText("\u6536\u8d39\u9879\u76ee");

        jBtn_SF.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_SFActionPerformed(evt);

            }

        });

        jZYM.add(jBtn_SF);

        jBtn_SF.setBounds(80, 160, 90, 40);

        jControlTab.addTab("\u8d44\u6e90\u4fe1\u606f", jZYM);

        jKHSM.setLayout(null);

        jBtn_TSM.setText("\u6295\u8bc9\u7ba1\u7406");

        jBtn_TSM.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_TSMActionPerformed(evt);

            }

        });

        jKHSM.add(jBtn_TSM);

        jBtn_TSM.setBounds(80, 70, 100, 40);

        jBtn_WXM.setText("\u62a5\u4fee\u7ba1\u7406");

        jBtn_WXM.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_WXMActionPerformed(evt);

            }

        });

        jKHSM.add(jBtn_WXM);

        jBtn_WXM.setBounds(220, 70, 100, 40);

        jBtn_TCCM.setText("\u505c\u8f66\u573a\u7ba1\u7406");

        jBtn_TCCM.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBtn_TCCMActionPerformed(evt);

            }

        });

        jKHSM.add(jBtn_TCCM);

        jBtn_TCCM.setBounds(80, 160, 100, 40);

        jControlTab.addTab("\u5ba2\u6237\u670d\u52a1", jKHSM);

        jSFM.setLayout(null);

        jBt_SFI.setText("\u8d39\u7528\u8f93\u5165");

        jBt_SFI.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jBt_SFIActionPerformed(evt);

            }

        });

        jSFM.add(jBt_SFI);

        jBt_SFI.setBounds(80, 70, 81, 40);

        jbt_CH.setText("\u8d39\u7528\u6536\u53d6");

        jbt_CH.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jbt_CHActionPerformed(evt);

            }

        });

        jSFM.add(jbt_CH);

        jbt_CH.setBounds(220, 70, 81, 40);

        jbt_CHQ.setText("\u8d39\u7528\u67e5\u8be2");

        jbt_CHQ.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jbt_CHQActionPerformed(evt);

            }

        });

        jSFM.add(jbt_CHQ);

        jbt_CHQ.setBounds(80, 160, 81, 40);

        jControlTab.addTab("\u6536\u8d39\u7ba1\u7406", jSFM);

        jSysM.setLayout(null);

        jSysMUpdate.setText("\u4fee\u6539\u5bc6\u7801");

        jSysMUpdate.setActionCommand("\u5bc6\u7801\u8bbe\u7f6e");

        jSysMUpdate.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jSysMUpdateActionPerformed(evt);

            }

        });

        jSysM.add(jSysMUpdate);

        jSysMUpdate.setBounds(80, 70, 80, 40);

        jSysMAbort.setText("\u5173\u4e8e");

        jSysMAbort.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jSysMAbortActionPerformed(evt);

            }

        });

        jSysM.add(jSysMAbort);

        jSysMAbort.setBounds(220, 70, 80, 40);

        jSysMExit.setText("\u9000\u51fa\u7cfb\u7edf");

        jSysMExit.addActionListener(new java.awt.event.ActionListener() {

            public void actionPerformed(java.awt.event.ActionEvent evt) {

                jSysMExitActionPerformed(evt);

            }

        });

        jSysM.add(jSysMExit);

        jSysMExit.setBounds(80, 160, 80, 40);

        jControlTab.addTab("\u7cfb\u7edf\u7ba1\u7406", jSysM);

        jControlPanel.add(jControlTab);

        jControlTab.setBounds(0, 0, 490, 350);

        getContentPane().add(jControlPanel);

        jControlPanel.setBounds(0, 100, 490, 350);

        pack();

    }

    // </editor-fold>//GEN-END:initComponents

    private void jbt_CHQActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbt_CHQActionPerformed

// TODO 将在此处添加您的处理代码:

        new CHQueryJFrame().setVisible(true);

    }//GEN-LAST:event_jbt_CHQActionPerformed

    private void jbt_CHActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbt_CHActionPerformed

// TODO 将在此处添加您的处理代码:

        new CHJFrame().setVisible(true);

    }//GEN-LAST:event_jbt_CHActionPerformed

    private void jBt_SFIActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBt_SFIActionPerformed

// TODO 将在此处添加您的处理代码:

        new SFIJFrame().setVisible(true);

    }//GEN-LAST:event_jBt_SFIActionPerformed

    private void jBtn_TCCMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_TCCMActionPerformed

// TODO 将在此处添加您的处理代码:

          new TCCManage().setVisible(true);

    }//GEN-LAST:event_jBtn_TCCMActionPerformed

    private void jBtn_WXMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_WXMActionPerformed

// TODO 将在此处添加您的处理代码:

        new WXManage().setVisible(true);

    }//GEN-LAST:event_jBtn_WXMActionPerformed

    private void jBtn_TSMActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_TSMActionPerformed

// TODO 将在此处添加您的处理代码:

        new TSManage().setVisible(true);

    }//GEN-LAST:event_jBtn_TSMActionPerformed

    private void jBtn_SFActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_SFActionPerformed

// TODO 将在此处添加您的处理代码:

        new SFItemJFrame().setVisible(true);

    }//GEN-LAST:event_jBtn_SFActionPerformed

    private void jBtn_KHActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_KHActionPerformed

// TODO 将在此处添加您的处理代码:

        new KHJFrame().setVisible(true);

    }//GEN-LAST:event_jBtn_KHActionPerformed

    private void jBtn_FCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtn_FCActionPerformed

// TODO 将在此处添加您的处理代码:

        new FCJFrame().setVisible(true);

    }//GEN-LAST:event_jBtn_FCActionPerformed

    private void jSysMExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSysMExitActionPerformed

// TODO 将在此处添加您的处理代码:

        System.exit(0);

    }//GEN-LAST:event_jSysMExitActionPerformed

    private void jSysMUpdateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSysMUpdateActionPerformed

// TODO 将在此处添加您的处理代码:

        new MpassFrame().setVisible(true);

    }//GEN-LAST:event_jSysMUpdateActionPerformed

    private void jSysMAbortActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSysMAbortActionPerformed

// TODO 将在此处添加您的处理代码:

        new AbortFrame().setVisible(true);

    }//GEN-LAST:event_jSysMAbortActionPerformed

    

    /**

     * @param args the command line arguments

     */

    public static void main(String args[]) {

        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {

                new MainFrame().setVisible(true);

            }

        });

    }

    

    // 变量声明 - 不进行修改//GEN-BEGIN:variables

    private javax.swing.JButton jBt_SFI;

    private javax.swing.JButton jBtn_FC;

    private javax.swing.JButton jBtn_KH;

    private javax.swing.JButton jBtn_SF;

    private javax.swing.JButton jBtn_TCCM;

    private javax.swing.JButton jBtn_TSM;

    private javax.swing.JButton jBtn_WXM;

    private javax.swing.JPanel jControlPanel;

    private javax.swing.JTabbedPane jControlTab;

    private javax.swing.JPanel jKHSM;

    private javax.swing.JPanel jSFM;

    private javax.swing.JPanel jSysM;

    private javax.swing.JButton jSysMAbort;

    private javax.swing.JButton jSysMExit;

    private javax.swing.JButton jSysMUpdate;

    private javax.swing.JPanel jZYM;

    private javax.swing.JButton jbt_CH;

    private javax.swing.JButton jbt_CHQ;

    private javax.swing.JLabel logo;

    // 变量声明结束//GEN-END:variables

    

}

5.4  房屋信息管理模块

房产资料主要是对住户的基本信息如 (物业地址、使用面积、房屋结构、设备、出售信息等信息)的添加、修改、删除、查询及统计记录个数。添加、修改、删除这些操作必须保存后才能生效。当记录较多,通过简单的查询可以方便的找的目标记录,查询结果已表格方式显示。表格显示结果的同时,如果还出现多条记录,可以根据某个字段对记录进行排序,这样可以给用户带来更大的方便和提高查找效率。

界面截图如下:

本模块代码如下:

5.5  物业收费管理模块

物业收费管理用是对小区内物业收费的总管理,主要功能也是对如 (住址、水费、电费、宽带费、物业管理费、收费时间等信息) 的添加、修改、删除、查询及统计记录个数。添加、修改、删除这些操作必须保存后才能生效。记录较多,通过简单的查询可以方便的找的目标记录,查询结果已表格方式显示。表格显示结果的同时,如果还出现多条记录,可以根据某个字段对记录进行排序,这样可以给用户带来更大的方便和提高查找效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

等天晴i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值