数据库原理与实践课设(宾馆管理系统),java+jdbc+sqlserver2017

第一次用java写这么多东西,发现开发方面确实比C++高很多,哈哈哈当然要记录下来

~

ps:课设中涉及的所有数据都是存在数据库中的~~~

1、首先当然是连接数据库啦,我这了采用的编程语言是java,所以通过java的jdbc连接SQL server2017

代码:

import java.sql.*;
public class connectDatabase {
    static Connection conn;
    public static Connection getConnect()
        {
            String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
            String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=宾馆管理";
            String userName="sa";
            String userPwd="123456";

            try
            {
                Class.forName(driverName);
                conn=DriverManager.getConnection(dbURL,userName,userPwd);
                System.out.println("连接数据库成功");
            }
            catch(Exception e)
            {
                e.printStackTrace();
                System.out.print("连接失败");
            }
            return conn;
        }

}

其中的一些电脑的端口配置我就不多讲啦~

2、首先是登陆界面,这里我在sqlserver里面有一张管理员表,表中存着管理员ID和密码,所以实现了简单的权限管理:

public class login extends JFrame implements ActionListener
{
    private JFrame frame;
    private JTextField Tname;
    private JPasswordField Tpwd;
    private JButton Jexit;
    private JButton Jlogin;
    private JLabel labelBack;
    private ImageIcon backImg = new ImageIcon("image//login.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private JButton changePwd;
    private JButton addAdmin;
    Connection con;
    Statement st;
    public login()
    {
        initData();
    }
    public void initData()
    {

        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        frame = new JFrame("登录");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setIconImage(icon);
        frame.setSize(600, 440);
        frame.setResizable(false);
        frame.setLayout(null);
        Container cp = frame.getContentPane();
        cp.setLayout(null);
        ((JPanel)cp).setOpaque(false);
        labelBack = new JLabel(backImg);
        Tname = new JTextField(15);
        Tpwd = new JPasswordField(15);
        Jexit = new JButton("退出");
        Jlogin = new JButton("登陆");
        changePwd = new JButton("更改密码");
        addAdmin = new JButton("新增管理");
        changePwd.setBounds(478,297,90,20);
        addAdmin.setBounds(476,240,90,20);
        labelBack.setBounds(0,0,600,400);
        Tname.setBounds(new Rectangle(253,228,205,39));
        Tpwd.setBounds(new Rectangle(253,288,205,39));
        Jlogin.setBounds(new Rectangle(252,343,79,33));
        Jexit.setBounds(new Rectangle(379,343,79,33));
        Jlogin.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tpwd.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Jexit.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tname.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        changePwd.setForeground(Color.BLUE);
        addAdmin.setForeground(Color.BLUE);
        changePwd.setContentAreaFilled(false);
        addAdmin.setContentAreaFilled(false);
        frame.getLayeredPane().add(labelBack,new Integer(Integer.MIN_VALUE));
        cp.add(changePwd);
        cp.add(addAdmin);
        cp.add(Tpwd);
        cp.add(Tname);
        cp.add(Jexit);
        cp.add(Jlogin);
        changePwd.addActionListener(this);
        addAdmin.addActionListener(this);
        Jexit.addActionListener(this);
        Jlogin.addActionListener(this);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {

        if(e.getSource() == Jlogin) {
            String Sname = Tname.getText();
            char[] Spwd = Tpwd.getPassword();
            String s = new String(Spwd);
            System.out.println(s);
            boolean isCorrrct = false;
            if (Sname.isEmpty() || s.isEmpty() ) {
                JOptionPane.showMessageDialog(frame, "不允许有空!");
            } else {
                try {
                    con = connectDatabase.getConnect();
                    String  sql="select * from 管理员表 where 管理员ID='"+Sname+"'"+"and 密码="+"'"+s+"'";
                    st = con.createStatement();
                    ResultSet res = st.executeQuery(sql);
                    if (res.next()) isCorrrct = true;
                    else isCorrrct = false;
                    res.close();
                    st.close();
                    con.close();
                } catch (Exception e3) {
                    e3.printStackTrace();
                }
                if (isCorrrct)
                {
                    JOptionPane.showMessageDialog(frame, "登陆成功!");
                    frame.setVisible(false);
                    functionUI f = new functionUI();
                    f.setVisible(true);
                }
                else
                {
                    JOptionPane.showMessageDialog(frame, "用户名或者密码错误!");
                    Tpwd.setText("");
                }

            }
        }
        else if(e.getSource() == Jexit)
        {
            try {
                frame.setVisible(false);
                MainFrame m = new MainFrame();
                m.setVisible(true);
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
        else if(e.getSource() == changePwd){
            change_pwd cc = new change_pwd();
            frame.setVisible(false);
        }
        else if(e.getSource() == addAdmin)
        {
            frame.setVisible(false);
            confirm_addmin cc = new confirm_addmin();
        }
    }

    public static void main(String[] args)
    {
        login L = new login();
    }

}
里面的图片当然是自己设置的,运行界面最后我会放一些;

3、然后是更改密码,更改密码在登陆界面是有接口的:

public class change_pwd extends JFrame implements ActionListener
{
    private JFrame frame;
    private JTextField tname;
    private JTextField toldpwd;
    private JPasswordField tnewPwd;
    private JPasswordField tconfirmPwd;
    private JButton Jexit;
    private JButton Jconfirm;
    private JLabel labelBack;
    private ImageIcon backImg = new ImageIcon("image//change_pwd.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    Connection con;
    PreparedStatement st;
    public change_pwd()
    {
        initData();
    }
    public void initData()
    {

        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        frame = new JFrame("新增管理员");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setIconImage(icon);
        frame.setSize(600, 440);
        frame.setResizable(false);
        frame.setLayout(null);
        Container cp = frame.getContentPane();
        cp.setLayout(null);
        ((JPanel)cp).setOpaque(false);
        labelBack = new JLabel(backImg);
        Jexit = new JButton("返回");
        Jconfirm = new JButton("确认");
        labelBack = new JLabel(backImg);
        tconfirmPwd = new JPasswordField();
        tnewPwd = new JPasswordField();
        toldpwd = new JTextField();
        tname = new JTextField();
        labelBack.setBounds(0,0,600,400);
        Jexit.setBounds(495,341,79,33);
        Jconfirm.setBounds(495,291,79,33);
        tconfirmPwd.setBounds(237,348,205,26);
        tnewPwd.setBounds(237,305,205,26);
        toldpwd.setBounds(237,262,205,26);
        tname.setBounds(237,219,205,26);
        frame.getLayeredPane().add(labelBack,new Integer(Integer.MIN_VALUE));
        cp.add(Jexit);
        cp.add(Jconfirm);
        cp.add(tconfirmPwd);
        cp.add(tname);
        cp.add(tnewPwd);
        cp.add(toldpwd);
        Jexit.addActionListener(this);
        Jconfirm.addActionListener(this);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        if(e.getSource() == Jconfirm)
        {
            con = connectDatabase.getConnect();
            try {
                String s1 = tname.getText();
                s1 = s1.trim();
                String s2 = toldpwd.getText();
                s2 = s2.trim();
                String s3 = tnewPwd.getText();
                s3 = s3.trim();
                String s4 = tconfirmPwd.getText();
                s4 = s4.trim();
                if (s1.isEmpty() || s2.isEmpty() || s3.isEmpty() || s4.isEmpty()) {
                    JOptionPane.showMessageDialog(frame, "不允许有空");
                } else {
                    String sql1 = "select * from 管理员表 where 管理员ID=? and 密码=?";
                    st = con.prepareStatement(sql1);
                    st.setString(1,s1);
                    st.setString(2,s2);
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        if(s3.equals(s4))
                        {
                            try {
                                String sql2 = "update 管理员表 set 密码 = ? where 管理员ID=?";
                                st = con.prepareStatement(sql2);
                                st.setString(1, s3);
                                st.setString(2, s1);
                                st.executeUpdate();
                                JOptionPane.showMessageDialog(frame,"修改成功!");
                                toldpwd.setText("");
                                tnewPwd.setText("");
                                tconfirmPwd.setText("");
                                tname.setText("");
                            }catch (SQLException ex)
                            {
                                JOptionPane.showMessageDialog(frame,"修改失败!");
                                toldpwd.setText("");
                                tnewPwd.setText("");
                                tconfirmPwd.setText("");
                                ex.printStackTrace();
                            }
                        }
                    }else {
                        JOptionPane.showMessageDialog(frame,"账号密码不匹配!");
                        toldpwd.setText("");
                        tnewPwd.setText("");
                        tconfirmPwd.setText("");
                    }
                }
            }catch (SQLException ex)
            {
                ex.printStackTrace();
            }
        }else if(e.getSource() == Jexit)
        {
            try {
                login LL = new login();
                frame.setVisible(false);
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }

        }

    }

    public static void main(String[] args)
    {
        change_pwd L = new change_pwd();
    }

}
4、接着是新增管理员,新增管理员这里需要验证管理员,所以多了个验证管理员的界面(其实我觉得这里有点冗余了~):

(1)、验证管理员:

import java.awt.*;
import java.awt.event.*;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.swing.*;
public class confirm_addmin extends JFrame implements ActionListener
{
    private JFrame frame;
    private JTextField Tname;
    private JPasswordField Tpwd;
    private JButton Jexit;
    private JButton Jlogin;
    private JLabel labelBack;
    private ImageIcon backImg = new ImageIcon("image//confirm_changepwd.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    Connection con;
    Statement st;
    public confirm_addmin()
    {
        initData();
    }
    public void initData()
    {

        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        frame = new JFrame("管理员账户确认");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setIconImage(icon);
        frame.setSize(600, 440);
        frame.setResizable(false);
        frame.setLayout(null);
        Container cp = frame.getContentPane();
        cp.setLayout(null);
        ((JPanel)cp).setOpaque(false);
        labelBack = new JLabel(backImg);
        Tname = new JTextField(15);
        Tpwd = new JPasswordField(15);
        Jexit = new JButton("返回");
        Jlogin = new JButton("确认");
        labelBack.setBounds(0,0,600,400);
        Tname.setBounds(new Rectangle(234,228,205,39));
        Tpwd.setBounds(new Rectangle(234,288,205,39));
        Jlogin.setBounds(new Rectangle(233,343,79,33));
        Jexit.setBounds(new Rectangle(360,343,79,33));
        Jlogin.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tpwd.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Jexit.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tname.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        frame.getLayeredPane().add(labelBack,new Integer(Integer.MIN_VALUE));
        cp.add(Tpwd);
        cp.add(Tname);
        cp.add(Jexit);
        cp.add(Jlogin);
        Jexit.addActionListener(this);
        Jlogin.addActionListener(this);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {

        if(e.getSource() == Jlogin) {
            String Sname = Tname.getText();
            char[] Spwd = Tpwd.getPassword();
            String s = new String(Spwd);
            System.out.println(s);
            boolean isCorrrct = false;
            if (Sname.isEmpty() || s.isEmpty() ) {
                JOptionPane.showMessageDialog(frame, "不允许有空!");
            } else {
                try {
                    con = connectDatabase.getConnect();
                    String  sql="select * from 管理员表 where 管理员ID='"+Sname+"'"+"and 密码="+"'"+s+"'";
                    st = con.createStatement();
                    ResultSet res = st.executeQuery(sql);
                    if (res.next()) isCorrrct = true;
                    else isCorrrct = false;
                    res.close();
                    st.close();
                    con.close();
                } catch (Exception e3) {
                    e3.printStackTrace();
                }
                if (isCorrrct)
                {
                    JOptionPane.showMessageDialog(frame, "管理员确认成功!");
                    frame.setVisible(false);
                    add_admin f = new add_admin();
                }
                else
                {
                    JOptionPane.showMessageDialog(frame, "用户名或者密码错误!");
                    Tpwd.setText("");
                }

            }
        }
        else if(e.getSource() == Jexit)
        {
            frame.setVisible(false);
            login m = new login() ;
        }
    }

    public static void main(String[] args)
    {
        confirm_addmin L = new confirm_addmin();
    }

}
(2)、新增管理员:
public class add_admin extends JFrame implements ActionListener
{
    private JFrame frame;
    private JTextField Tnewname;
    private JPasswordField Tpwd;
    private JPasswordField TconfirmPwd;
    private JButton Jexit;
    private JButton Jconfirm;
    private JLabel labelBack;
    private ImageIcon backImg = new ImageIcon("image//add_admin.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    Connection con;
    PreparedStatement st;
    public add_admin()
    {
        initData();
    }
    public void initData()
    {

        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        frame = new JFrame("新增管理员");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.setIconImage(icon);
        frame.setSize(600, 440);
        frame.setResizable(false);
        frame.setLayout(null);
        Container cp = frame.getContentPane();
        cp.setLayout(null);
        ((JPanel)cp).setOpaque(false);
        labelBack = new JLabel(backImg);
        Tnewname = new JTextField(15);
        Tpwd = new JPasswordField(15);
        Jexit = new JButton("返回");
        Jconfirm = new JButton("确认");
        TconfirmPwd = new JPasswordField(15);
        TconfirmPwd.setBounds(new Rectangle(237,306,205,26));
        labelBack.setBounds(0,0,600,400);
        Tnewname.setBounds(new Rectangle(237,217,205,26));
        Tpwd.setBounds(new Rectangle(237,262,205,26));
        Jconfirm.setBounds(new Rectangle(237,351,79,33));
        Jexit.setBounds(new Rectangle(363,351,79,33));
        Jconfirm.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tpwd.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Jexit.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        Tnewname.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        TconfirmPwd.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        frame.getLayeredPane().add(labelBack,new Integer(Integer.MIN_VALUE));
        cp.add(TconfirmPwd);
        cp.add(Tpwd);
        cp.add(Tnewname);
        cp.add(Jexit);
        cp.add(Jconfirm);
        Jexit.addActionListener(this);
        Jconfirm.addActionListener(this);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        frame.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        con = connectDatabase.getConnect();
        if(e.getSource() == Jconfirm) {
            try{
                String s1 = Tnewname.getText();
                char[] c1 = Tpwd.getPassword();
                String s2 = String.valueOf(c1);
                char[] c2 = TconfirmPwd.getPassword();
                String s3 = String.valueOf(c2);
                s1 = s1.trim();
                s2 = s2.trim();
                s3 = s3.trim();
                if(s3.isEmpty()||s2.isEmpty()||s1.isEmpty())
                {
                    JOptionPane.showMessageDialog(frame,"不允许有空");
                }else {
                    if(!s3.equals(s2))
                    {
                        JOptionPane.showMessageDialog(frame,"密码不一致");
                    }
                    else{
                        String sql = "insert 管理员表 values(?,?)";
                        st = con.prepareStatement(sql);
                        st.setString(1,s1);
                        st.setString(2,s2);
                        st.executeUpdate();
                        JOptionPane.showMessageDialog(frame,"添加成功");
                        TconfirmPwd.setText("");
                        Tnewname.setText("");
                        Tpwd.setText("");
                        st.close();
                    }
                }
                con.close();
            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(frame,"添加失败");
                ex.printStackTrace();
            }
        }
        else if(e.getSource() == Jexit)
        {
            frame.setVisible(false);
            login m = new login() ;
        }
    }

    public static void main(String[] args)
    {
        add_admin L = new add_admin();
    }

}
5、登陆之后就是功能界面了:
public class functionUI extends JFrame implements ActionListener
{
    private JButton emptyRoom;
    private JButton handleRoom;
    private JButton historyRoom;
    private JButton manageVip;
    private JButton exitRoom;
    private JButton setting;
    private JButton visitor;
    private JButton exit;
    private Container mainPanel;
    private JPanel jpane1;
    private JLabel labe1;
    private ImageIcon img1 = new ImageIcon("image//function.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    public functionUI()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        mainPanel = this.getContentPane();
        setSize(1024,795);
        setResizable(false);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setIconImage(icon);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setLayout(null);
        setVisible(true);
        setTitle("管理员界面");
        jpane1 = new JPanel();
        jpane1.setSize(1024,768);
        jpane1.setBounds(0,0,1024,800);
        jpane1.setLayout(null);
        emptyRoom = new JButton(new ImageIcon("image//Button//FJCX.png",""));
        handleRoom = new JButton(new ImageIcon("image//Button//KFCL.jpg",""));
        historyRoom = new JButton(new ImageIcon("image//Button//KFLS.jpg",""));
        manageVip = new JButton(new ImageIcon("image//Button//GBGL.png",""));
        exitRoom = new JButton(new ImageIcon("image//Button//TF.jpg",""));
        setting = new JButton(new ImageIcon("image//Button//YGGL.png",""));
        exit = new JButton();
        visitor = new JButton(new ImageIcon("image//Button//FKGL.png",""));
        labe1 = new JLabel(img1);
        labe1.setBounds(0,0,1024,768);
        emptyRoom.setBounds(new Rectangle(0,154,256,192));
        handleRoom.setBounds(new Rectangle(258,173,256,192));
        historyRoom.setBounds(new Rectangle(512,173,256,192));
        manageVip.setBounds(new Rectangle(768,152,256,192));
        exitRoom.setBounds(new Rectangle(0,424,256,192));
        setting.setBounds(new Rectangle(258,405,256,192));
        exit.setBounds(new Rectangle(768,424,256,192));
        visitor.setBounds(512,405,258,187);
        jpane1.setOpaque(false);
        visitor.setOpaque(false);
        exit.setOpaque(false);
        setting.setOpaque(false);
        exit.setContentAreaFilled(false);
        this.getLayeredPane().add(labe1,new Integer(Integer.MIN_VALUE));
        jpane1.add(visitor);
        jpane1.add(emptyRoom);
        jpane1.add(handleRoom);
        jpane1.add(historyRoom);
        jpane1.add(manageVip);
        jpane1.add(exitRoom);
        jpane1.add(setting);
        jpane1.add(exit);
        mainPanel.add(jpane1);
        jpane1.setVisible(true);
        ((JPanel)mainPanel).setOpaque(false);
        (this).getLayeredPane().add(jpane1,new Integer(Integer.MAX_VALUE));
        emptyRoom.addActionListener(this);
        handleRoom.addActionListener(this);
        historyRoom.addActionListener(this);
        manageVip.addActionListener(this);
        exitRoom.addActionListener(this);
        setting.addActionListener(this);
        exit.addActionListener(this);
        visitor.addActionListener(this);
    }
    public void actionPerformed(ActionEvent en)
    {
        if(en.getSource()==emptyRoom)
        {
            Select_Room sr = new Select_Room();
        }
        if(en.getSource() == historyRoom)
        {
            Select_History sh = new Select_History();
        }
        if(en.getSource()==manageVip)
        {
            VIP_manage vip = new VIP_manage();
        }
        if(en.getSource()==exitRoom)
        {
            cancel_room ca = new cancel_room();
        }
        if(en.getSource()==setting)
        {
            Staff_manage sta = new Staff_manage();
        }
        if(en.getSource()==handleRoom)
        {
            AddCustomerInfo Add = new AddCustomerInfo();
        }
        if(en.getSource() == visitor)
        {
            Visitor vis = new Visitor();
        }
        if(en.getSource()==exit)
        {
            MainFrame M = new MainFrame();
            this.setVisible(false);
            M.setVisible(true);
        }
    }
    public static void main(String[] args)
    {
        functionUI f = new functionUI();

    }
}

6、然后是房间查询,这里我感觉我想的可细,具体发现就只能靠你们自己了,反正我是想的很全面的(我真的是灰常棒)~
public class Select_Room extends JFrame implements ActionListener{
    private JTextField textRoom;
    private JPanel jPane1;
    private JScrollPane jPane2;
    private JButton butSelect;
    private JLabel backLab;
    private ImageIcon img1;
    private Container content;
    private JComboBox com1;
    private JComboBox com2;
    private JTable table;
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private Connection con = null;
    private PreparedStatement st = null;
    private String[] s2 = {"是","否","全部"};
    private String[] s1 = {"单人间","双人间","总统间"};
    private String[] s3 = {"序号","房间号","房间类型","价格","身份证号"};
    int rownum = 18;
    int[] colWidth = {50,100,100,100,163};
    int rowhigh = 29;
    int num = 0;
    private DefaultTableModel mod ;
    public Select_Room()
    {

        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setTitle("房间查询");
        con = connectDatabase.getConnect();
        content = this.getContentPane();
        setSize(550,728);
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.setLayout(null);
        this.setIconImage(icon);
        com1 = new JComboBox(s1);
        com2 = new JComboBox(s2);
        jPane1 = new JPanel();
        jPane1.setLayout(null);
        table_test ta = new table_test();
        table = ta.getTable(s3,colWidth,rownum,rowhigh);
        mod = (DefaultTableModel) table.getModel();
        jPane2 = new JScrollPane(table);
        butSelect = new JButton("查询");
        textRoom = new JTextField();
        butSelect.setBounds(new Rectangle(202,58,140,42));
        com2.setBounds(new Rectangle(465,19,68,26));
        com1.setBounds(new Rectangle(270,19,85,26));
        textRoom.setBounds(new Rectangle(93,19,63,26));
        jPane1.setBounds(0,0,550,100);
        jPane2.setBounds(20,112,513,551);
        com1.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        com2.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        img1 = new ImageIcon("image//select_room.jpg");
        backLab = new JLabel(img1);
        butSelect.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        backLab.setBounds(0,0,550,700);
        ((JPanel)content).setOpaque(false);
        this.getLayeredPane().add(backLab,new Integer(Integer.MIN_VALUE));
        jPane2.add(table.getTableHeader());
        jPane2.setOpaque(false);
        jPane2.getViewport().setOpaque(false);
        table.setOpaque(false);
        jPane1.setOpaque(false);
        jPane1.add(butSelect);
        jPane1.add(com1);
        jPane1.add(com2);
        jPane1.add(textRoom);
        content.add(jPane1);
        content.add(jPane2);
        butSelect.addActionListener(this);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void actionPerformed (ActionEvent e)
    {

        if(e.getSource() ==  butSelect)
        {
            if(num!=0)
            {

                while (num>rownum)
                {
                    mod.removeRow(num-1);
                    num--;
                }
                while(num-->0)
                {
                    table.setValueAt("",num,0);
                    table.setValueAt("",num,1);
                    table.setValueAt("",num,2);
                    table.setValueAt("",num,3);
                    table.setValueAt("",num,4);
                }
            }
            if(!textRoom.getText().isEmpty())
            {
               num = setTableData_rno();
            }
            else{
               num = setTableData_else();
            }

        }


    }
    private int setTableData_rno()
    {
        String rno = textRoom.getText();
        textRoom.setText("");
        int row = 0;
        if(!rno.isEmpty())
        {
            boolean t = false;
            try {
                String sql = "Select 房间表.房间号,类型,价格,客户身份证号 from 房间表,房间使用表 where 房间表.房间号= ? and 房间使用表.房间号 = 房间表.房间号";
                String sql1 = "Select 房间表.房间号,类型,价格 from 房间表 where 房间表.房间号= ? ";
                st = con.prepareStatement(sql);
                st.setString(1,rno);
                ResultSet rs = st.executeQuery();
                if(rs.next()) {
                        t = true;
                        table.setValueAt("1", 0, 0);
                        table.setValueAt(rs.getString(1).trim(), 0, 1);
                        table.setValueAt(rs.getString(2).trim(), 0, 2);
                        table.setValueAt(String.valueOf(rs.getInt(3)).trim(), 0, 3);
                        table.setValueAt(rs.getString(4).trim(), 0, 4);

                }
                else{
                    st = con.prepareStatement(sql1);
                    st.setString(1,rno);
                    rs = st.executeQuery();
                    if (rs.next())
                    {
                        t = true;
                        table.setValueAt("1", 0, 0);
                        table.setValueAt(rs.getString(1).trim(), 0, 1);
                        table.setValueAt(rs.getString(2).trim(), 0, 2);
                        table.setValueAt(String.valueOf(rs.getInt(3)).trim(), 0, 3);
                    }

                }
                if(!t)
                {
                    JOptionPane.showMessageDialog(this,"房间号不存在!");

                }
                rs.close();
            }catch (SQLException e)
            {
                e.printStackTrace();
            }
        }
        return 1;
    }
    private int setTableData_else()
    {
        boolean t = false;
        int count = 0;
        try{
            String sql,sql1;
            String form = (String)com1.getSelectedItem();
            String is_empty = (String)com2.getSelectedItem();
            if(is_empty!="全部")
            {
                if(is_empty=="是"){
                    sql = "select 房间表.房间号,类型,价格 from 房间表 where 类型 = ? and 房间表.房间号 not in(select 房间号 from 房间使用表)";
                    st = con.prepareStatement(sql);
                    st.setString(1,form);
                    ResultSet rs1 = st.executeQuery();
                    st.clearParameters();
                    while (rs1.next())
                    {
                        if(rs1.getRow()>rownum)
                        {
                            String[] s = {String.valueOf(count+1).trim(),rs1.getString(1).trim(),rs1.getString(2).trim(),rs1.getString(3).trim()};
                            mod.addRow(s);
                            count++;
                        }else {
                            table.setValueAt(count + 1, count, 0);
                            table.setValueAt(rs1.getString(1).trim(), count, 1);
                            table.setValueAt(rs1.getString(2).trim(), count, 2);
                            table.setValueAt(String.valueOf(rs1.getInt(3)).trim(), count, 3);
                            count++;
                        }

                    }
                    rs1.close();
                }
                else{
                    sql = "select 房间表.房间号,类型,价格,客户身份证号 from 房间表,房间使用表 where 类型 = ? and 房间表.房间号 = 房间使用表.房间号";
                    st = con.prepareStatement(sql);
                    st.setString(1,form);
                    ResultSet rs2 = st.executeQuery();
                    while (rs2.next())
                    {
                        if(count+1>rownum)
                        {
                            String[] s = {String.valueOf(count+1).trim(),rs2.getString(1).trim(),rs2.getString(2).trim(),rs2.getString(3).trim(),rs2.getString(4).trim()};
                            mod.addRow(s);
                            count++;
                        }else {
                            table.setValueAt(count + 1, count, 0);
                            table.setValueAt(rs2.getNString(1).trim(), count, 1);
                            table.setValueAt(rs2.getNString(2).trim(), count, 2);
                            table.setValueAt(String.valueOf(rs2.getInt(3)).trim(), count, 3);
                            table.setValueAt(rs2.getNString(4).trim(), count, 4);
                            count++;
                        }
                    }
                    rs2.close();
                }
            }
            else {
                sql = "select 房间表.房间号,类型,价格 from 房间表 where 类型 = ? and 房间表.房间号 not in(select 房间号 from 房间使用表)";
                sql1 = "select 房间表.房间号,类型,价格,客户身份证号 from 房间表,房间使用表 where 类型 = ? and 房间表.房间号 = 房间使用表.房间号";
                st = con.prepareStatement(sql1);
                st.setString(1,form);
                ResultSet rs4 = st.executeQuery();
                while (rs4.next())
                {
                    if(count+1>rownum)
                    {
                        String[] s = {String.valueOf(count+1).trim(),rs4.getString(1).trim(),rs4.getString(2).trim(),rs4.getString(3).trim(),rs4.getString(4).trim()};
                        mod.addRow(s);
                        count++;
                    }else {
                        table.setValueAt(count + 1, count, 0);
                        table.setValueAt(rs4.getString(1).trim(), count, 1);
                        table.setValueAt(rs4.getString(2).trim(), count, 2);
                        table.setValueAt(String.valueOf(rs4.getInt(3)), count, 3);
                        table.setValueAt(rs4.getString(4).trim(), count, 4);
                        count++;
                    }
                }
                rs4.close();
                st = con.prepareStatement(sql);
                st.setString(1,form);
                ResultSet rs3 = st.executeQuery();
                while (rs3.next())
                {
                    if(count+1>rownum)
                    {
                        String[] s = {String.valueOf(count+1).trim(),rs3.getString(1).trim(),rs3.getString(2).trim(),rs3.getString(3).trim(),""};
                        mod.addRow(s);
                        count++;
                    }
                    else {
                        table.setValueAt(count + 1, count, 0);
                        table.setValueAt(rs3.getString(1).trim(), count, 1);
                        table.setValueAt(rs3.getString(2).trim(), count, 2);
                        table.setValueAt(String.valueOf(rs3.getInt(3)).trim(), count, 3);
                        table.setValueAt("", count, 4);
                        count++;
                    }
                }
            }

        }catch (SQLException e)
        {
            e.printStackTrace();
        }

        return count;
    }
    public void finalize()
    {
        try
        {
            con.close();
            st.close();
        }catch (SQLException e)
        {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
            Select_Room test0 = new Select_Room();

        }
}

7、然后是开房处理,这里就是往数据库里面添加数据:
public class AddCustomerInfo extends JFrame implements ActionListener
{
    Connection con;//连接数据库对象;
    Statement st;//用于发送sql语;
    private JFrame frame;
    private JLabel jLabsno;
    private JLabel jLabsname;
    private JLabel jLabsex;
    private JLabel jLabcome;
    private JLabel jLabform;
    private JTextField jTextf1;//文本框\
    private JTextField jTextf2;
    private JTextField jTextf3;
    private JTextField jTextf4;
    private JRadioButton jRadioman;//单选按钮
    private JRadioButton jRadiowoman;
    private ButtonGroup buttonGroup1;//按钮组
    private JButton jButtoncommit;
    private JRadioButton Room1;
    private JRadioButton Room2;
    private JRadioButton Room3;
    private ButtonGroup buttonGroup2;
    private JButton buttonBack;
    private JLabel age;
    private JLabel leaveTime;
    private JTextField jTextf5;
    private JLabel labback;
    private JLabel jLabDays;
    private JTextField jTextf6;
    private JLabel labDay;
    private ImageIcon img1 = new ImageIcon("image//handleRoom.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//.jpg");
    public AddCustomerInfo() {
        try {
            UIManager.setLookAndFeel(
                    "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (Exception e) {
            System.out.println(e.toString());
        }
         frame = new JFrame("客户信息录入:");
         jLabsno = new JLabel("身份证号:");//标注
         jLabsname = new JLabel("姓    名:");
         jLabsex = new JLabel("性    别:");
         jLabcome = new JLabel("入房时间:");
         jLabform = new JLabel("房间类型:");
         jTextf1 = new JTextField();//文本框
         jTextf2 = new JTextField();
         jTextf3 = new JTextField();
         jTextf4 = new JTextField();
         labDay = new JLabel("天");
         jRadioman = new JRadioButton("男");//单选按钮
         jRadiowoman = new JRadioButton("女");
         buttonGroup1 = new ButtonGroup();//按钮组
         jButtoncommit = new JButton("保存");//按钮
         Room1 = new JRadioButton("单人房");
         Room2 = new JRadioButton("多人房");
         Room3 = new JRadioButton("总统房");
         buttonGroup2 = new ButtonGroup();
         buttonBack = new JButton("返回");
         age = new JLabel("年    龄:");
         jTextf5 = new JTextField();
         leaveTime = new JLabel("离开时间:");
         jLabDays = new JLabel("入住天数:");
         jTextf6 = new JTextField();
         labback = new JLabel(img1);
         Init();
    }
    public void Init()
    {
        frame.setResizable(false);
        frame.setSize(450,500);
        frame.setIconImage(icon);
        frame.getContentPane().setBackground(Color.white);
        frame.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        jLabsno.setBounds(new Rectangle(50,30,64,24));
        jLabsname.setBounds(new Rectangle(50,71,61,27));
        jLabsex.setBounds(new Rectangle(50,106,61,27));
        jLabcome.setBounds(new Rectangle(50,185,59,25));
        jLabform.setBounds(new Rectangle(50,313,54,24));
        jTextf1.setBounds(new Rectangle(150,30,200,30));
        jTextf2.setBounds(new Rectangle(150,69,200,30));
        jTextf4.setBounds(new Rectangle(150,185,200,29));
        jTextf3.setBounds(new Rectangle(150,143,200,29));
        jTextf6.setBounds(new Rectangle(150,230,200,29));
        jLabDays.setBounds(new Rectangle(50,233,54,24));
        labDay.setBounds(new Rectangle(370,233,30,20));
        age.setBounds(new Rectangle(50,143,59,25));
        jRadioman.setBounds(new Rectangle(150,103,65,30));
        jRadiowoman.setBounds(new Rectangle(250,103,85,30));
        Room1.setBounds(new Rectangle(150,313,80,30));
        Room2.setBounds(new Rectangle(230,313,80,30));
        Room3.setBounds(new Rectangle(310,313,80,30));
        jButtoncommit.setBounds(new Rectangle(100,370,70,30));
        buttonBack.setBounds(new Rectangle(250,370,70,30));
        leaveTime.setBounds(new Rectangle(50,273,59,29));
        jTextf5.setBounds(new Rectangle(150,273,200,29));
        labback.setBounds(0,0,450,470);
        Room1.setOpaque(false);
        Room2.setOpaque(false);
        Room3.setOpaque(false);
        jRadiowoman.setOpaque(false);
        jRadioman.setOpaque(false);
        frame.getLayeredPane().add(labback,new Integer(Integer.MIN_VALUE));
        ((JPanel)frame.getContentPane()).setOpaque(false);
        jRadioman.setSelected(true);//默认被选中
        Room1.setSelected(true);
        jButtoncommit.addActionListener(this);
        buttonBack.addActionListener(this);
        frame.setLayout(null);
        frame.add(labDay);
        frame.add(jLabDays);
        frame.add(jTextf6);
        frame.add(age);
        frame.add(jTextf4);
        frame.add(jLabsname);
        frame.add(jTextf1);
        frame.add(jLabsno);
        frame.add(jTextf2);
        frame.add(jLabsex);
        frame.add(jRadioman);
        frame.add(jRadiowoman);
        frame.add(jLabcome);
        frame.add(jTextf3);
        frame.add(jLabform);
        frame.add(Room1);
        frame.add(Room2);
        frame.add(Room3);
        frame.add(leaveTime);
        frame.add(jTextf5);
        frame.add(jButtoncommit);
        frame.add(buttonBack);
        buttonGroup1.add(jRadioman);//单选按钮加入按钮组中
        buttonGroup1.add(jRadiowoman);
        buttonGroup2.add(Room1);
        buttonGroup2.add(Room2);
        buttonGroup2.add(Room3);
        frame.setVisible(true);
    }
    public void actionPerformed(ActionEvent e)
    {
        if(e.getSource() == jButtoncommit) {

            String sno = jTextf1.getText();
            String sname = jTextf2.getText();
            String sex = "";
            String sage = jTextf3.getText();
            String scome = jTextf4.getText();
            String sleave = jTextf5.getText();
            String days = jTextf6.getText();
            String sform = "";
            days = days.trim();
            sno = sno.trim();
            if(sno.isEmpty()||sname.isEmpty()||sage.isEmpty()||scome.isEmpty()||sleave.isEmpty())
            {
                JOptionPane.showMessageDialog(this,"不允许有空");
            }
            else if(sno.length()!=18)
            {
                JOptionPane.showMessageDialog(this,"身份证号输入有误");
            }
            else {
                int days_num = Integer.parseInt(days);
                if (jRadioman.isSelected()) sex += "男";
                if (jRadiowoman.isSelected()) sex += "女";
                if (Room1.isSelected()) sform += "单人间";
                if (Room2.isSelected()) sform += "双人间";
                if (Room3.isSelected()) sform += "总统间";
                con = connectDatabase.getConnect();
                try {
                    st = con.createStatement();
                } catch (Exception e2) {
                    e2.printStackTrace();
                }
                try {
                    String sql = "select* from Empty_room where 类型 = '" + sform + "'";
                    ResultSet rs = st.executeQuery(sql);
                    if(rs.next()) {
                        int days_values = days_num*rs.getInt(3);
                        String s = "房间号为:"+rs.getString(1)+"\n价格为:"+days_values+"";
                        System.out.println(s);
                        int t = JOptionPane.showConfirmDialog(null,s,"提示",JOptionPane.YES_NO_OPTION);
                        if(t == JOptionPane.YES_OPTION) {
                            String sql1 = "insert into 客户表 values('" + sno + "','" + sname + "','" + sex + "','" + sage + "','" + scome + "','" + sleave + "')";
                            String sql2 = "insert into 房间使用表 values('"+rs.getString(1)+"','"+sno+"')";
                            String sql3 = "insert into 住房历史表 values('" + sname + "','" + sno + "','" + scome + "','" + sleave + "','"+rs.getString(1)+"')";
                            String sq14 = "insert into 资金收支历史 values("+days_values+",'"+scome+"','"+sno+"','"+rs.getString(1)+"')";
                            st.executeUpdate(sq14);
                            st.executeUpdate(sql3);
                            st.executeUpdate(sql1);
                            st.executeUpdate(sql2);
                            jTextf6.setText("");
                            jTextf1.setText("");
                            jTextf2.setText("");
                            jTextf3.setText("");
                            jTextf4.setText("");
                            jTextf5.setText("");
                            JOptionPane.showMessageDialog(this, "保存成功!");
                        }
                        else if(t == JOptionPane.NO_OPTION)
                        {
                            JOptionPane.showMessageDialog(this, "取消保存!");
                        }

                    }
                    else {
                        JOptionPane.showMessageDialog(this, "暂无空余房间,保存失败!");
                    }
                } catch (Exception ex) {
                    JOptionPane.showMessageDialog(this, "保存失败!");
                    ex.printStackTrace();
                }
            }

        }
        if(e.getSource() == buttonBack)
        {
            frame.setVisible(false);
        }

    }
    public static void main(String[] args)
    {
        AddCustomerInfo x = new AddCustomerInfo();
    }
}

8、然后是开房历史查询,也很强大的~
public class Select_History  extends JFrame implements ActionListener
{
    private JPanel jPane1;
    private JScrollPane jpane2;
    private JTextField textRno;
    private JTextField textDate;
    private JButton butSelect;
    private JTable table;
    private JLabel labBackground;
    private ImageIcon bacIco = new ImageIcon("image//room_history.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private Container cont;
    private Connection con = null;
    private PreparedStatement st = null;
    private String s1[] = {"序号","姓名","身份证号","房间号","入住时间","离开时间"};
    private int[] colWidth = {40,80,113,60,110,110};
    private int rowNum = 18;
    private int rowhigh = 29;
    private  int num = 0;
    private DefaultTableModel mod;
    public Select_History()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        con = connectDatabase.getConnect();
        setTitle("开房历史查询");
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        setLayout(null);
        setSize(550,728);
        setResizable(false);
        setIconImage(icon);
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        labBackground = new JLabel(bacIco);
        labBackground.setBounds(0,0,550,700);
        this.getLayeredPane().add(labBackground,new Integer(Integer.MIN_VALUE));
        jPane1 = new JPanel();
        jPane1.setLayout(null);
        table_test ta = new table_test();
        table = ta.getTable(s1,colWidth,rowNum,rowhigh);
        mod = (DefaultTableModel) table.getModel();
        jpane2 = new JScrollPane(table);
        textRno = new JTextField();
        textDate = new JTextField();
        butSelect = new JButton("查  询");
        butSelect.setBounds(202,58,140,42);
        textDate.setBounds(396,19,132,26);
        textRno.setBounds(129,19,162,26);
        jPane1.setBounds(0,0,550,100);
        jpane2.setBounds(20,112,513,551);
        jPane1.setOpaque(false);
        jpane2.setOpaque(false);
        jpane2.getViewport().setOpaque(false);
        jPane1.add(butSelect);
        jPane1.add(textDate);
        jPane1.add(textRno);
        butSelect.addActionListener(this);
        cont.add(jPane1);
        cont.add(jpane2);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);

    }
    public void actionPerformed(ActionEvent e)
    {

        if(e.getSource() == butSelect) {

            if(num!=0)
            {

                while (num>rowNum)
                {
                    mod.removeRow(num-1);
                    num--;
                }
                while(num-->0)
                {
                    table.setValueAt("",num,0);
                    table.setValueAt("",num,1);
                    table.setValueAt("",num,2);
                    table.setValueAt("",num,3);
                    table.setValueAt("",num,4);
                    table.setValueAt("", num, 5);
                }
            }
            num = setTableData();

        }
    }
    public int setTableData() {
        int count = 0;
        String rno = textRno.getText();
        String data = textDate.getText();
        if (rno.isEmpty() && data.isEmpty()) JOptionPane.showMessageDialog(this, "身份证号和日期不能都为空!");
        else {
            try {
                if (data.isEmpty()) {
                    String sql = "select 姓名,身份证号,房间号,入住时间,退房时间 from 住房历史表 where 身份证号 = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1,rno);
                } else if (rno.isEmpty()) {
                    String sql = "select 姓名,身份证号,房间号,入住时间,退房时间 from 住房历史表 where 入住时间 = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1,data);
                } else{
                    String sql = "select 姓名,身份证号,房间号,入住时间,退房时间 from 住房历史表 where 入住时间 = ? and 身份证号 = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1,data);
                    st.setString(2,rno);
                }
                ResultSet rs = st.executeQuery();
                while(rs.next())
                {
                    if(count+1>rowNum)
                    {
                        String[] s = {String.valueOf(count+1).trim(),rs.getString(1).trim(),rs.getString(2).trim(),rs.getString(3).trim(),rs.getString(4).trim(),rs.getString(5).trim()};
                        mod.addRow(s);
                        count++;
                    }else {
                        table.setValueAt(count + 1, count, 0);
                        table.setValueAt(rs.getNString(1).trim(), count, 1);
                        table.setValueAt(rs.getNString(2).trim(), count, 2);
                        table.setValueAt(rs.getNString(3).trim(), count, 3);
                        table.setValueAt(rs.getNString(4).trim(), count, 4);
                        table.setValueAt(rs.getNString(5).trim(), count, 5);
                        count++;
                    }
                }
            }catch (SQLException e)
            {
                e.printStackTrace();
            }
        }
        return count;
    }
    public static void main(String[] args)
    {
        Select_History h = new Select_History();
    }
}
9、然后是贵宾管理,里面还包括充值界面,然后选中贵宾那一条记录就可以删除贵宾了:
(1)、贵宾管理界面:
public class VIP_manage  extends JFrame implements ActionListener
{
    private JPanel jPane1;
    private JScrollPane jpane2;
    private JTextField textRno;
    private JTextField textVipID;
    private JButton butSelect;
    private JTable table;
    private JLabel labBackground;
    private JButton buttonRecharge;
    private JButton buttonDelete;
    private ImageIcon bacIco = new ImageIcon("image//VIP_manage.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private Container cont;
    private Connection con = null;
    private PreparedStatement st = null;
    private String s1[] = {"序号","姓名","贵宾卡ID","性别","身份证号","余额"};
    private int[] colWidth = {40,80,113,40,160,80};
    private int rowNum = 16;
    private int rowhigh = 29;
    private  int num = 0;
    private DefaultTableModel mod;
    public VIP_manage()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        con = connectDatabase.getConnect();
        setTitle("开房历史查询");
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        setLayout(null);
        setSize(550,728);
        setResizable(false);
        setIconImage(icon);
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        labBackground = new JLabel(bacIco);
        labBackground.setBounds(0,0,550,700);
        this.getLayeredPane().add(labBackground,new Integer(Integer.MIN_VALUE));
        jPane1 = new JPanel();
        jPane1.setLayout(null);
        table_test ta = new table_test();
        table = ta.getTable(s1,colWidth,rowNum,rowhigh);
        mod = (DefaultTableModel) table.getModel();
        jpane2 = new JScrollPane(table);
        textRno = new JTextField();
        textVipID = new JTextField();
        butSelect = new JButton("查  询");
        buttonDelete = new JButton("删除");
        buttonRecharge = new JButton("充值");
        buttonDelete.setBounds(302,618,98,30);
        buttonRecharge.setBounds(150,618,98,30);
        butSelect.setBounds(202,58,140,42);
        textVipID.setBounds(396,19,132,26);
        textRno.setBounds(121,19,162,26);
        jPane1.setBounds(0,0,550,100);
        jpane2.setBounds(20,112,513,492);
        jPane1.setOpaque(false);
        jpane2.setOpaque(false);
        jpane2.getViewport().setOpaque(false);
        jPane1.add(butSelect);
        jPane1.add(textVipID);
        jPane1.add(textRno);
        butSelect.addActionListener(this);
        buttonRecharge.addActionListener(this);
        buttonDelete.addActionListener(this);
        cont.add(jPane1);
        cont.add(jpane2);
        cont.add(buttonDelete);
        cont.add(buttonRecharge);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        num = setTableData();
        setVisible(true);

    }
    private void tableCon()
    {

        if(num!=0)
        {

            while (num>rowNum)
            {
                mod.removeRow(num-1);
                num--;
            }
            while(num-->0)
            {
                table.setValueAt("",num,0);
                table.setValueAt("",num,1);
                table.setValueAt("",num,2);
                table.setValueAt("",num,3);
                table.setValueAt("",num,4);
                table.setValueAt("", num, 5);
            }
        }
    }

    public int setTableData() {
        int count = 0;

            try {

                String sql = "select 姓名,贵宾ID,性别,身份证号,贵宾卡余额 from 贵宾表";
                st = con.prepareStatement(sql);
                ResultSet rs = st.executeQuery();
                while(rs.next())
                {
                    if(count+1>rowNum)
                    {
                        String[] s = {String.valueOf(count+1).trim(),rs.getString(1).trim(),rs.getString(2).trim(),rs.getString(3).trim(),rs.getString(4).trim(),rs.getString(5).trim()};
                        mod.addRow(s);
                        count++;
                    }else {
                        table.setValueAt(count + 1, count, 0);
                        table.setValueAt(rs.getNString(1).trim(), count, 1);
                        table.setValueAt(rs.getNString(2).trim(), count, 2);
                        table.setValueAt(rs.getString(3).trim(), count, 3);
                        table.setValueAt(rs.getNString(4).trim(), count, 4);
                        table.setValueAt(rs.getInt(5), count, 5);
                        count++;
                    }
                }
            }catch (SQLException e)
            {
                e.printStackTrace();
            }

        return count;
    }
    public void actionPerformed(ActionEvent e)
    {


        if(e.getSource() == butSelect) {
            try {
                String s1 = textRno.getText();
                String s2 = textVipID.getText();
                if (s1.isEmpty() && s2.isEmpty()) {
                    JOptionPane.showMessageDialog(this, "身份证和贵宾卡ID不允许都为空!");
                    num = setTableData();
                } else {
                    String sql;
                    if (s1.isEmpty()) {
                        sql = "select 姓名,贵宾ID,性别,身份证号,贵宾卡余额 from 贵宾表 where 贵宾ID = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1,s2);
                    }
                    else if (s2.isEmpty())
                    {
                        sql = "select 姓名,贵宾ID,性别,身份证号,贵宾卡余额 from 贵宾表 where 身份证号 = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1,s1);
                    }
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        tableCon();
                        table.setValueAt(1, 0, 0);
                        table.setValueAt(rs.getNString(1).trim(), 0, 1);
                        table.setValueAt(rs.getNString(2).trim(), 0, 2);
                        table.setValueAt(rs.getString(3).trim(), 0, 3);
                        table.setValueAt(rs.getNString(4).trim(), 0, 4);
                        table.setValueAt(rs.getInt(5), 0, 5);
                        num = 1;
                    }
                    else
                    {
                        JOptionPane.showMessageDialog(this,"没有找到此人");
                        num = setTableData();
                    }
                }
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
        if(e.getSource() == buttonDelete)
        {
            try {
                   int index = table.getSelectedRow();
                   String s1 = table.getValueAt(index,2).toString();
                   String sql = "delete from 贵宾表 where 贵宾ID = ?";
                   String s2 = "是否删除贵宾:"+s1+"?";
                   int t = JOptionPane.showConfirmDialog(null,s2,"提示",JOptionPane.YES_NO_OPTION);
                   if(t == JOptionPane.YES_OPTION)
                    {
                        st = con.prepareStatement(sql);
                        st.setString(1, s1);
                        st.executeUpdate();
                        JOptionPane.showMessageDialog(this,"删除成功!");
                        tableCon();
                        num = setTableData();
                    }else if(t == JOptionPane.NO_OPTION)
                    {
                        JOptionPane.showMessageDialog(this,"删除取消!");
                    }


            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this,"删除失败!");
                ex.printStackTrace();
            }
        }
        if(e.getSource() == buttonRecharge)
        {
            try {
                con.close();
                recharge_ui rec = new recharge_ui();
                this.setVisible(false);
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }

    }
    public static void main(String[] args)
    {
        VIP_manage vv = new VIP_manage();
    }
}
(2)、充值界面:
public class recharge_ui extends JFrame implements ActionListener
{
    private JTextField textRno1;
    private JTextField textvipID1;
    private JButton buttonSelect;
    private JTextField textName;
    private JTextField textSex;
    private JTextField textRno2;
    private JTextField textvipID2;
    private JTextField textbalance;
    private JTextField textrecharge;
    private JButton buttonRecharge;
    private ImageIcon bacIco = new ImageIcon("image//recharge.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private Container cont;
    private JLabel labelBac;
    private Connection con;
    private PreparedStatement st;
    public recharge_ui()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setSize(550,725);
        setResizable(false);
        setIconImage(icon);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        setTitle("贵宾卡充值");
        setLayout(null);
        cont = this.getContentPane();
        labelBac = new JLabel(bacIco);
        textRno1 = new JTextField();
        textvipID1 = new JTextField();
        textName = new JTextField();
        textSex = new JTextField();
        textRno2 = new JTextField();
        textvipID2 = new JTextField();
        textbalance = new JTextField();
        textrecharge = new JTextField();
        buttonSelect = new JButton("查询");
        buttonRecharge = new JButton("确认充值");
        buttonRecharge.setBounds(225,618,110,42);
        buttonSelect.setBounds(202,58,160,42);
        textrecharge.setBounds(164,545,323,39);
        textbalance.setBounds(164,463,323,39);
        textRno2.setBounds(164,299,323,39);
        textSex.setBounds(165,217,323,39);
        textName.setBounds(164,135,323,39);
        textvipID1.setBounds(396,19,132,26);
        textRno1.setBounds(119,19,162,26);
        labelBac.setBounds(0,0,550,700);
        textvipID2.setBounds(164,381,323,39);
        buttonRecharge.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        buttonSelect.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textrecharge.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textbalance.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRno2.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textName.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textvipID1.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRno1.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textvipID2.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        ((JPanel)cont).setOpaque(false);
        textvipID2.setOpaque(false);
        textrecharge.setOpaque(false);
        textbalance.setOpaque(false);
        textRno2.setOpaque(false);
        textSex.setOpaque(false);
        textName.setOpaque(false);
        buttonSelect.addActionListener(this);
        buttonRecharge.addActionListener(this);
        cont.add(textvipID2);
        cont.add(textvipID1);
        cont.add(textRno1);
        cont.add(textRno2);
        cont.add(textName);
        cont.add(textrecharge);
        cont.add(textbalance);
        cont.add(textSex);
        cont.add(buttonRecharge);
        cont.add(buttonSelect);
        this.getLayeredPane().add(labelBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        con = connectDatabase.getConnect();
        if(e.getSource() == buttonSelect)
        {
            try {
                String s1 = textRno1.getText();
                String s2 = textvipID1.getText();
                if(!s1.isEmpty()||!s2.isEmpty()) {
                    if (!s1.isEmpty()) {
                        String sql = "select 姓名,性别,身份证号,贵宾ID,贵宾卡余额 from VIP where 身份证号 = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s1);
                    } else if (!s2.isEmpty()) {
                        String sql = "select 姓名,性别,身份证号,贵宾ID,贵宾卡余额 from VIP where 贵宾ID = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s2);
                    }
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        textName.setText(rs.getString(1));
                        textSex.setText(rs.getString(2));
                        textRno2.setText(rs.getString(3));
                        textvipID2.setText(rs.getString(4));
                        textbalance.setText(rs.getString(5));
                    }
                }else{
                    JOptionPane.showMessageDialog(this,"身份证号和贵宾卡ID不允许都为空!");
                }

            }catch (SQLException ex)
            {
                ex.printStackTrace();
            }
        }
        if(e.getSource()==buttonRecharge)
        {
            try{
                String s1 = textrecharge.getText();
                String s2 = textvipID2.getText();
                s1 = s1.trim();
                int x1 = Integer.parseInt(s1);
                if(s1.isEmpty()||s2.isEmpty())
                {
                    if(s1.isEmpty()) {
                        JOptionPane.showMessageDialog(this, "充值金额不能为空!");
                    }else
                    {
                        JOptionPane.showMessageDialog(this, "无此贵宾!");
                    }
                }
                else {
                    String sql1 = "update 贵宾表 set 贵宾卡余额 = 贵宾卡余额+? where 贵宾ID = ?";
                    st = con.prepareStatement(sql1);
                    st.setInt(1,x1);
                    st.setString(2,s2);
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(this,"充值成功!");
                }
            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this,"充值失败!");
                ex.printStackTrace();
            }
        }

    }
    public static void main(String[] args)
    {
        recharge_ui c = new recharge_ui();
    }
}
10、然后是退房呢:
public class cancel_room extends JFrame implements ActionListener
{
    private JTextField textRno1;
    private JTextField textRoom1;
    private JButton buttonSelect;
    private JTextField textName;
    private JTextField textSex;
    private JTextField textRno2;
    private JTextField textRoom2;
    private JTextField textComeTime;
    private JButton buttonCancel;
    private ImageIcon bacIco = new ImageIcon("image//cancel_room.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private Container cont;
    private JLabel labelBac;
    private Connection con;
    private PreparedStatement st;
    public cancel_room()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setSize(550,725);
        setResizable(false);
        setIconImage(icon);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        setTitle("退房处理");
        setLayout(null);
        cont = this.getContentPane();
        labelBac = new JLabel(bacIco);
        textRno1 = new JTextField();
        textRoom1 = new JTextField();
        textName = new JTextField();
        textSex = new JTextField();
        textRno2 = new JTextField();
        textRoom2 = new JTextField();
        textComeTime = new JTextField();
        buttonSelect = new JButton("查询");
        buttonCancel = new JButton("退订");
        buttonCancel.setBounds(225,618,98,30);
        buttonSelect.setBounds(202,58,160,42);
        textComeTime.setBounds(164,535,323,39);
        textRoom2.setBounds(164,435,323,39);
        textRno2.setBounds(164,335,323,39);
        textSex.setBounds(164,235,323,39);
        textName.setBounds(164,135,323,39);
        textRoom1.setBounds(396,19,132,26);
        textRno1.setBounds(129,19,162,26);
        labelBac.setBounds(0,0,550,700);
        buttonCancel.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        buttonSelect.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textComeTime.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRoom2.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRno2.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textName.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRoom1.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        textRno1.setFont(new java.awt.Font("宋体",Font.PLAIN,18));
        ((JPanel)cont).setOpaque(false);
        textComeTime.setOpaque(false);
        textRoom2.setOpaque(false);
        textRno2.setOpaque(false);
        textSex.setOpaque(false);
        textName.setOpaque(false);
        buttonSelect.addActionListener(this);
        buttonCancel.addActionListener(this);
        cont.add(textRoom1);
        cont.add(textRno1);
        cont.add(textRno2);
        cont.add(textName);
        cont.add(textComeTime);
        cont.add(textRoom2);
        cont.add(textSex);
        cont.add(buttonCancel);
        cont.add(buttonSelect);
        this.getLayeredPane().add(labelBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void actionPerformed(ActionEvent e) {
        con = connectDatabase.getConnect();
        if(e.getSource() == buttonSelect)
        {
            try {
                String s1 = textRno1.getText();
                String s2 = textRoom1.getText();
                if(!s1.isEmpty()||!s2.isEmpty()) {
                    if (!s1.isEmpty()) {
                        String sql = "select 姓名,性别,客户身份证号,房间号,入住时间 from room_customer where 客户身份证号 = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s1);
                    } else if (!s2.isEmpty()) {
                        String sql = "select 姓名,性别,客户身份证号,房间号,入住时间 from room_customer where 房间号 = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s2);
                    }
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        textName.setText(rs.getString(1));
                        textSex.setText(rs.getString(2));
                        textRno2.setText(rs.getString(3));
                        textRoom2.setText(rs.getString(4));
                        textComeTime.setText(rs.getString(5));
                    }else{
                        JOptionPane.showMessageDialog(this,"不存在此开房记录!");
                    }
                }else{
                    JOptionPane.showMessageDialog(this,"身份证号和房间号不允许都为空!");
                }

            }catch (SQLException ex)
            {
                ex.printStackTrace();
            }
        }
        if(e.getSource()==buttonCancel)
        {
            try{
                String s1 = textRno2.getText();
                s1 = s1.trim();
                if(s1.isEmpty())
                {
                    JOptionPane.showMessageDialog(this,"不存在此开房记录!");
                }
                else {
                    String ss = "确认退掉房间:"+s1+"";
                    int t = JOptionPane.showConfirmDialog(null,ss,"提示",JOptionPane.YES_NO_OPTION);
                    if(t == JOptionPane.YES_OPTION) {
                        String sql1 = "delete from 房间使用表 where 客户身份证号 = ?";
                        String sql2 = "delete from 客户表 where 身份证号 = ?";
                        st = con.prepareStatement(sql1);
                        st.setString(1, s1);
                        st.executeUpdate();
                        st = con.prepareStatement(sql2);
                        st.setString(1, s1);
                        st.executeUpdate();
                        JOptionPane.showMessageDialog(this, "退房成功");
                        textName.setText("");
                        textSex.setText("");
                        textRno2.setText("");
                        textRoom2.setText("");
                        textComeTime.setText("");
                    }else if(t == JOptionPane.NO_OPTION)
                    {
                        JOptionPane.showMessageDialog(this, "退房取消");
                    }
                }
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
            try
            {
                con.close();
            }catch (SQLException ex)
            {
                ex.printStackTrace();
            }
        }

    }
    public static void main(String[] args)
    {
        cancel_room c = new cancel_room();
    }
}

11、接着是员工管理界面,包括新增员工界面,查询到员工数据后可以直接在界面上更改信息然后提交到数据库:
(1)、员工管理:
public class Staff_manage extends JFrame implements ActionListener
{
    private JTextField textID1;
    private JButton butSelect;
    private JTextField textSname;
    private JTextField textIID2;
    private JTextField textSex;
    private JTextField textTle;
    private JTextField textPost;
    private JButton butChange;
    private JButton butDelete;
    private JLabel labBac;
    private JButton butAdd;
    private Connection con = null;
    private PreparedStatement st = null;
    private Container cont = null;
    private ImageIcon bacIco = new ImageIcon("image//staff.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    public Staff_manage()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setTitle("员工管理");
        con = connectDatabase.getConnect();
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        setSize(550,725);
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.setLayout(null);
        this.setIconImage(icon);
        labBac = new JLabel(bacIco);
        textID1 = new JTextField();
        textSname = new JTextField();
        textIID2 = new JTextField();
        textSex = new JTextField();
        textTle = new JTextField();
        textPost = new JTextField();
        butSelect = new JButton("查询");
        butChange = new JButton("确认更改");
        butDelete = new JButton("删除");
        butAdd = new JButton("增加员工");
        butAdd.setBounds(398,68,89,19);
        butSelect.setBounds(202,58,140,42);
        textTle.setBounds(164,435,323,39);
        butChange.setBounds(150,618,110,30);
        butDelete.setBounds(302,618,98,30);
        textSex.setBounds(164,335,323,39);
        textSname.setBounds(164,135,323,39);
        textIID2.setBounds(164,235,323,39);
        textID1.setBounds(252,19,162,26);
        textPost.setBounds(164,535,323,39);
        labBac.setBounds(0,0,550,700);
        butSelect.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butChange.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butDelete.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textPost.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textTle.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textIID2.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textID1.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSname.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butAdd.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,14));
        butAdd.setForeground(Color.blue);
        butAdd.addActionListener(this);
        butDelete.addActionListener(this);
        butChange.addActionListener(this);
        butSelect.addActionListener(this);
        butAdd.setContentAreaFilled(false);
        textPost.setOpaque(false);
        textIID2.setOpaque(false);
        textSname.setOpaque(false);
        textSex.setOpaque(false);
        textTle.setOpaque(false);
        cont.add(butChange);
        cont.add(butDelete);
        cont.add(butSelect);
        cont.add(textID1);
        cont.add(textIID2);
        cont.add(textPost);
        cont.add(textSex);
        cont.add(textSname);
        cont.add(textTle);
        cont.add(butAdd);
        this.getLayeredPane().add(labBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void  actionPerformed(ActionEvent e)
    {
        if(e.getSource() == butSelect)
        {
            try {
                String s1 = textID1.getText();
                if (s1.isEmpty()) {
                    JOptionPane.showMessageDialog(this, "员工ID不允许为空!");
                } else {
                    String sql = "select * from 员工表 where 员工ID = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1,s1);
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        textSname.setText(rs.getString(1).trim());
                        textIID2.setText(rs.getString(2).trim());
                        textSex.setText(rs.getString(3).trim());
                        textTle.setText(rs.getString(4).trim());
                        textPost.setText(rs.getString(5).trim());
                    }else
                    {
                        JOptionPane.showMessageDialog(this,"无此员工!");
                        textID1.setText("");
                        textSname.setText("");
                        textIID2.setText("");
                        textSex.setText("");
                        textTle.setText("");
                        textPost.setText("");
                    }
                }
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
        if(e.getSource() == butChange)
        {
            try
            {
                String s0 = textID1.getText();
                String s1 = textSname.getText();
                String s2 = textIID2.getText();
                String s3 = textSex.getText();
                String s4 = textTle.getText();
                String s5 = textPost.getText();
                s0 = s0.trim();
                s1 = s1.trim();
                s2 = s2.trim();
                s3 = s3.trim();
                s4 = s4.trim();
                s5 = s5.trim();
                if(!s0.equals(s2))
                {
                    JOptionPane.showMessageDialog(this,"员工ID不允许更改!");
                }
                else {
                    String sql = "update 员工表 set 姓名 = ?,性别 = ?,电话 = ?,职位 = ? where 员工ID = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1, s1);
                    st.setString(2, s3);
                    st.setString(3, s4);
                    st.setString(4, s5);
                    st.setString(5, s0);
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(this, "更改成功!");
                    textID1.setText("");
                    textSname.setText("");
                    textIID2.setText("");
                    textSex.setText("");
                    textTle.setText("");
                    textPost.setText("");
                }

            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this,"更改失败!");
                ex.printStackTrace();
            }
        }
        if(e.getSource() == butAdd)
        {
            this.setVisible(false);
            addStaff adds = new addStaff();
        }
        if(e.getSource() == butDelete)
        {
            try
            {
                String s1 = textIID2.getText();
                s1 = s1.trim();
                if(s1.isEmpty())
                {
                    JOptionPane.showMessageDialog(this,"员工ID不允许为空!");
                }
                else
                {
                    String ss = "是否删除员工:"+s1+"?";
                    int t = JOptionPane.showConfirmDialog(null,ss,"提示",JOptionPane.YES_NO_OPTION);
                    if(t == JOptionPane.YES_OPTION) {
                        String sql = "delete from 员工表 where 员工ID = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s1);
                        st.executeUpdate();
                        JOptionPane.showMessageDialog(this, "删除成功!");
                        textID1.setText("");
                        textSname.setText("");
                        textIID2.setText("");
                        textSex.setText("");
                        textTle.setText("");
                        textPost.setText("");
                    }else if(t == JOptionPane.NO_OPTION)
                    {
                        JOptionPane.showMessageDialog(this, "删除取消!");
                    }
                }
            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this, "删除失败!");
                ex.printStackTrace();
            }
        }
    }
    public static void main(String[] args)
    {
        Staff_manage sta = new Staff_manage();
    }
}

(2)、新增员工界面:
public class addStaff extends JFrame implements ActionListener
{
    private JTextField textSname;
    private JTextField textIID2;
    private JTextField textSex;
    private JTextField textTle;
    private JTextField textPost;
    private JLabel labBac;
    private JButton butSave;
    private JButton butBack;
    private Connection con = null;
    private PreparedStatement st = null;
    private Container cont = null;
    private ImageIcon bacIco = new ImageIcon("image//add_staff.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    public addStaff()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setTitle("员工管理");
        con = connectDatabase.getConnect();
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        setSize(550,725);
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.setLayout(null);
        this.setIconImage(icon);
        labBac = new JLabel(bacIco);
        textSname = new JTextField();
        textIID2 = new JTextField();
        textSex = new JTextField();
        textTle = new JTextField();
        textPost = new JTextField();
        butBack = new JButton("返回");
        butSave = new JButton("保存");
        textTle.setBounds(164,435,323,39);
        textSex.setBounds(164,335,323,39);
        textSname.setBounds(164,135,323,39);
        textIID2.setBounds(164,235,323,39);
        textPost.setBounds(164,535,323,39);
        labBac.setBounds(0,0,550,700);
        butSave.setBounds(150,618,98,30);
        butBack.setBounds(302,618,98,30);
        textPost.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textTle.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textIID2.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSname.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butBack.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butSave.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textPost.setOpaque(false);
        textIID2.setOpaque(false);
        textSname.setOpaque(false);
        textSex.setOpaque(false);
        textTle.setOpaque(false);
        cont.add(butBack);
        cont.add(butSave);
        cont.add(textIID2);
        cont.add(textPost);
        cont.add(textSex);
        cont.add(textSname);
        cont.add(textTle);
        butSave.addActionListener(this);
        butBack.addActionListener(this);
        this.getLayeredPane().add(labBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void  actionPerformed(ActionEvent e)
    {
        if(e.getSource() == butBack)
        {
            this.setVisible(false);
            Staff_manage sta = new Staff_manage();
        }
        if(e.getSource() == butSave ) {
            try
            {
                String s1 = textSname.getText();
                String s2 = textIID2.getText();
                String s3 = textSex.getText();
                String s4 = textTle.getText();
                String s5 = textPost.getText();
                if(s1.isEmpty()||s2.isEmpty()||s3.isEmpty()||s4.isEmpty()||s5.isEmpty())
                {
                    JOptionPane.showMessageDialog(this,"不允许有空!");
                }
                else
                {
                    String sql = "insert into 员工表 values(?,?,?,?,?)";
                    st = con.prepareStatement(sql);
                    st.setString(1,s1);
                    st.setString(2,s2);
                    st.setString(3,s3);
                    st.setString(4,s4);
                    st.setString(5,s5);
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(this,"新建成功!");
                    textSname.setText("");
                    textIID2.setText("");
                    textSex.setText("");
                    textTle.setText("");
                    textPost.setText("");
                }
            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this,"新建失败,员工号已被使用");
                ex.printStackTrace();
            }
        }
    }
    public static void main(String[] args)
    {
        addStaff sta = new addStaff();
    }
}


12、访客管理,包括新增访客
(1)、访客管理界面:
public class Visitor extends JFrame implements ActionListener
{
    private JTextField textsno;
    private JButton butSelect;
    private JTextField textSname;
    private JTextField textsno2;
    private JTextField textSex;
    private JTextField textTle;
    private JTextField textRoom;
    private JButton butChange;
    private JButton butDelete;
    private JLabel labBac;
    private JButton butAdd;
    private Connection con = null;
    private PreparedStatement st = null;
    private Container cont = null;
    private ImageIcon bacIco = new ImageIcon("image//Visitor.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    public Visitor()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setTitle("访客管理");
        con = connectDatabase.getConnect();
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        setSize(550,725);
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.setLayout(null);
        this.setIconImage(icon);
        labBac = new JLabel(bacIco);
        textsno = new JTextField();
        textSname = new JTextField();
        textsno2 = new JTextField();
        textSex = new JTextField();
        textTle = new JTextField();
        textRoom = new JTextField();
        butSelect = new JButton("查询");
        butChange = new JButton("确认更改");
        butDelete = new JButton("删除");
        butAdd = new JButton("增加访客");
        butAdd.setBounds(398,68,89,19);
        butSelect.setBounds(202,58,140,42);
        textTle.setBounds(164,435,323,39);
        butChange.setBounds(150,618,110,30);
        butDelete.setBounds(302,618,98,30);
        textSex.setBounds(164,335,323,39);
        textSname.setBounds(164,135,323,39);
        textsno2.setBounds(164,235,323,39);
        textsno.setBounds(277,19,162,26);
        textRoom.setBounds(164,535,323,39);
        labBac.setBounds(0,0,550,700);
        butSelect.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butChange.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butDelete.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textRoom.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textTle.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textsno2.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textsno.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSname.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butAdd.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,14));
        butAdd.setForeground(Color.blue);
        butAdd.addActionListener(this);
        butDelete.addActionListener(this);
        butChange.addActionListener(this);
        butSelect.addActionListener(this);
        butAdd.setContentAreaFilled(false);
        textRoom.setOpaque(false);
        textsno2.setOpaque(false);
        textSname.setOpaque(false);
        textSex.setOpaque(false);
        textTle.setOpaque(false);
        cont.add(butChange);
        cont.add(butDelete);
        cont.add(butSelect);
        cont.add(textsno);
        cont.add(textsno2);
        cont.add(textRoom);
        cont.add(textSex);
        cont.add(textSname);
        cont.add(textTle);
        cont.add(butAdd);
        this.getLayeredPane().add(labBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void  actionPerformed(ActionEvent e)
    {
        if(e.getSource() == butSelect)
        {
            try {
                String s1 = textsno.getText();
                if (s1.isEmpty()) {
                    JOptionPane.showMessageDialog(this, "身份证号不允许为空!");
                } else {
                    String sql = "select * from 访客表 where 身份证号 = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1,s1);
                    ResultSet rs = st.executeQuery();
                    if(rs.next())
                    {
                        textSname.setText(rs.getString(1).trim());
                        textsno2.setText(rs.getString(2).trim());
                        textSex.setText(rs.getString(3).trim());
                        textTle.setText(rs.getString(4).trim());
                        textRoom.setText(rs.getString(5).trim());
                    }else
                    {
                        JOptionPane.showMessageDialog(this,"无此访客!");
                        textsno.setText("");
                        textSname.setText("");
                        textsno2.setText("");
                        textSex.setText("");
                        textTle.setText("");
                        textRoom.setText("");
                    }
                }
            }catch (Exception ex)
            {
                ex.printStackTrace();
            }
        }
        if(e.getSource() == butChange)
        {
            try
            {
                String s0 = textsno.getText();
                String s1 = textSname.getText();
                String s2 = textsno2.getText();
                String s3 = textSex.getText();
                String s4 = textTle.getText();
                String s5 = textRoom.getText();
                s0 = s0.trim();
                s1 = s1.trim();
                s2 = s2.trim();
                s3 = s3.trim();
                s4 = s4.trim();
                s5 = s5.trim();
                if(!s0.equals(s2))
                {
                    JOptionPane.showMessageDialog(this,"身份证号不允许更改!");
                }
                else {
                    String sql = "update 访客表 set 姓名 = ?,性别 = ?,电话 = ?,到访房间 = ? where 身份证号 = ?";
                    st = con.prepareStatement(sql);
                    st.setString(1, s1);
                    st.setString(2, s3);
                    st.setString(3, s4);
                    st.setString(4, s5);
                    st.setString(5, s0);
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(this, "更改成功!");
                    textsno.setText("");
                    textSname.setText("");
                    textsno2.setText("");
                    textSex.setText("");
                    textTle.setText("");
                    textRoom.setText("");
                }

            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this,"更改失败!");
                ex.printStackTrace();
            }
        }
        if(e.getSource() == butAdd)
        {
            this.setVisible(false);
            addVisitor adds = new addVisitor();
        }
        if(e.getSource() == butDelete)
        {
            try
            {
                String s1 = textsno2.getText();
                String s2 = textSname.getText();
                s1 = s1.trim();
                if(s1.isEmpty())
                {
                    JOptionPane.showMessageDialog(this,"身份证号不允许为空!");
                }
                else
                {
                    String ss = "是否删除访客:"+s2+"?";
                    int t = JOptionPane.showConfirmDialog(null,ss,"提示",JOptionPane.YES_NO_OPTION);
                    if(t == JOptionPane.YES_OPTION) {
                        String sql = "delete from 访客表 where 身份证号 = ?";
                        st = con.prepareStatement(sql);
                        st.setString(1, s1);
                        st.executeUpdate();
                        JOptionPane.showMessageDialog(this, "删除成功!");
                        textsno.setText("");
                        textSname.setText("");
                        textsno2.setText("");
                        textSex.setText("");
                        textTle.setText("");
                        textRoom.setText("");
                    }else if(t == JOptionPane.NO_OPTION)
                    {
                        JOptionPane.showMessageDialog(this, "删除取消!");
                    }
                }
            }catch (Exception ex)
            {
                JOptionPane.showMessageDialog(this, "删除失败!");
                ex.printStackTrace();
            }
        }
    }
    public static void main(String[] args)
    {
        Visitor sta = new Visitor();
    }
}


(2)、新增访客界面:
public class addVisitor extends JFrame implements ActionListener
{
    private JTextField textSname;
    private JTextField textsno2;
    private JTextField textSex;
    private JTextField textTle;
    private JTextField textRoom;
    private JButton butSave;
    private JButton butBack;
    private JLabel labBac;
    private Connection con = null;
    private PreparedStatement st = null;
    private Container cont = null;
    private ImageIcon bacIco = new ImageIcon("image//addVisitor.jpg");
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    public addVisitor()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        setTitle("访客管理");
        con = connectDatabase.getConnect();
        cont = this.getContentPane();
        ((JPanel)cont).setOpaque(false);
        setSize(550,725);
        setResizable(false);
        setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
        this.setLayout(null);
        this.setIconImage(icon);
        labBac = new JLabel(bacIco);
        textSname = new JTextField();
        textsno2 = new JTextField();
        textSex = new JTextField();
        textTle = new JTextField();
        textRoom = new JTextField();
        butBack = new JButton("返回");
        butSave = new JButton("保存");
        textTle.setBounds(164,435,323,39);
        textSex.setBounds(164,335,323,39);
        textSname.setBounds(164,135,323,39);
        textsno2.setBounds(164,235,323,39);
        textRoom.setBounds(164,535,323,39);
        labBac.setBounds(0,0,550,700);
        butSave.setBounds(150,618,98,30);
        butBack.setBounds(302,618,98,30);
        butBack.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        butSave.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textRoom.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textTle.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSex.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textsno2.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textSname.setFont(new java.awt.Font("方正幼圆",Font.PLAIN,18));
        textRoom.setOpaque(false);
        textsno2.setOpaque(false);
        textSname.setOpaque(false);
        textSex.setOpaque(false);
        textTle.setOpaque(false);
        cont.add(butBack);
        cont.add(butSave);
        cont.add(textsno2);
        cont.add(textRoom);
        cont.add(textSex);
        cont.add(textSname);
        cont.add(textTle);
        butSave.addActionListener(this);
        butBack.addActionListener(this);
        this.getLayeredPane().add(labBac,new Integer(Integer.MIN_VALUE));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        setVisible(true);
    }
    public void  actionPerformed(ActionEvent e)
    {
        if(e.getSource() == butSave) {
            String s1 = textSname.getText();
            String s2 = textsno2.getText();
            String s3 = textSex.getText();
            String s4 = textTle.getText();
            String s5 = textRoom.getText();
            try{
                if (s1.isEmpty() || s2.isEmpty() || s3.isEmpty() || s4.isEmpty() || s5.isEmpty()) {
                    JOptionPane.showMessageDialog(this, "不允许有空!");
                } else {
                    String sql = "insert into 访客表 values(?,?,?,?,?)";
                    st = con.prepareStatement(sql);
                    st.setString(1, s1);
                    st.setString(2, s2);
                    st.setString(3, s3);
                    st.setString(4, s4);
                    st.setString(5, s5);
                    st.executeUpdate();
                    JOptionPane.showMessageDialog(this, "新建成功!");
                    textSname.setText("");
                    textsno2.setText("");
                    textSex.setText("");
                    textTle.setText("");
                    textRoom.setText("");
                }
            }catch(Exception ex)
            {
                JOptionPane.showMessageDialog(this, "新建失败,访客已存在");
                ex.printStackTrace();
            }

        }
        if(e.getSource() == null) {
            Visitor vis = new Visitor();
        }

    }
    public static void main(String[] args)
    {
        addVisitor sta = new addVisitor();
    }
}
13、哈哈哈,是不是发现很多查询界面因为有表格运行不了呢,因为还有表格的类,我这里的模板可以返回JScorallPanel或者JTable(考虑周全~):
public class table_test extends JFrame {
    public JTable table=null;
    public JScrollPane jp;

    //返回表格
    public JTable getTable(String[] s,int[] columnWidth,int colnum,int rowhigh){
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
        if(table==null){
            table=new JTable();
            DefaultTableModel model=new DefaultTableModel(s,colnum);
            table.setModel(model);
            TableColumnModel columnModel=table.getColumnModel();
            int count=columnModel.getColumnCount();
            for(int i=0;i<count;i++){
                javax.swing.table.TableColumn column=columnModel.getColumn(i);
                column.setPreferredWidth(columnWidth[i]);
            }

            renderer.setOpaque(false);//render单元格的属性
//遍历表格中所有列,将其渲染器设置为renderer
            for(int i = 0 ; i < s.length; i ++)
            {
                table.getColumn(s[i]).setCellRenderer(renderer);
            }
            table.setRowHeight(rowhigh);
            table.setOpaque(false);
        }
        renderer.setHorizontalAlignment(SwingConstants.CENTER);
        table.setDefaultRenderer(Object.class,renderer);
        JTableHeader myt = table.getTableHeader();
        DefaultTableCellRenderer hr = (DefaultTableCellRenderer) myt.getDefaultRenderer();
        hr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
        myt.setOpaque(false);
        // myt.setUI(new WindowsTableHeaderUI());
        myt.setReorderingAllowed(false);
        myt.setResizingAllowed(false);
        return table;
    }

    //返回JPanel
    public JScrollPane getJpanel(String[] s,int[] columnWidth,int colnum,int rowhigh){
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e) {
            System.out.println(e.toString());
        }
        if(table==null){
            table=new JTable();
            DefaultTableModel model=new DefaultTableModel(s,colnum);
            table.setModel(model);
            TableColumnModel columnModel=table.getColumnModel();
            int count=columnModel.getColumnCount();
            for(int i=0;i<count;i++){
                javax.swing.table.TableColumn column=columnModel.getColumn(i);
                column.setPreferredWidth(columnWidth[i]);
            }
            DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
            renderer.setOpaque(false);//render单元格的属性
//遍历表格中所有列,将其渲染器设置为renderer
            for(int i = 0 ; i < s.length; i ++)
            {
                table.getColumn(s[i]).setCellRenderer(renderer);
            }
            table.setRowHeight(rowhigh);
            table.setOpaque(false);
        }
        jp =new JScrollPane(table);
        JTableHeader myt = table.getTableHeader();
        DefaultTableCellRenderer hr = (DefaultTableCellRenderer) myt.getDefaultRenderer();
        hr.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
        myt.setOpaque(false);
       // myt.setUI(new WindowsTableHeaderUI());
        myt.setReorderingAllowed(false);
        myt.setResizingAllowed(false);
        jp.add(myt);
        jp.setOpaque(false);
        jp.getViewport().setOpaque(false);
        return jp;
    }


}


14、然后是主界面呢:
(1)、主函数:
public class Main {
    public static  void main(String[] args)
    {
        MainFrame frame = new MainFrame();//主界面
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = frame.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        frame.setVisible(true);
    }
}

(2)主界面:
public class MainFrame extends JFrame implements ActionListener
{
    private JPanel contentPane;//主面板
    private JMenuBar jMenuBar1 ;
    private JMenu jMenuFile ;
    private JMenuItem jMenuFileExit ;
    private JMenu jMenu1;
    private JMenuItem jMenuItem1;
    private JMenu jMenu2 ;
    //上面创建菜单栏
    private JLabel jLabel ;
    private JLabel jLabe2 ;
    private Image icon = Toolkit.getDefaultToolkit().getImage("image//logo.jpg");
    private ImageIcon img1 = new ImageIcon("image//mainframe.jpg");
    private JLabel labImg;
    public MainFrame()
    {
        try{ UIManager.setLookAndFeel(
                "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        }catch(Exception e)
        {
            System.out.println(e.toString());
        }
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        contentPane.setBackground(Color.white);
        setSize(new Dimension(500,430));//框架大小
        setTitle("宾馆管理系统");//框架标题
        setResizable(false);
        super.setBackground(Color.white);
        super.setIconImage(icon);
       jMenuBar1 = new JMenuBar();
       jMenuFile = new JMenu("文件");
       jMenuFileExit = new JMenuItem("退出");
       jMenu1 = new JMenu("宾馆管理");
       jMenuItem1 = new JMenuItem("管理员登陆");
       jMenu2 = new JMenu("住房查询");
        //上面创建菜单栏
       jLabel = new JLabel("宾馆管理系统");
       jLabe2 = new JLabel("2017年12月7日");
       labImg = new JLabel(img1);
       labImg.setBounds(0,0,500,400);
       contentPane.setOpaque(false);
       super.getLayeredPane().add(labImg,new Integer(Integer.MIN_VALUE));
        try{
            setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            Init();
        }
        catch (Exception e1){
            e1.printStackTrace();
        }
    }


    private void Init() throws Exception
    {

        //创建内容面板和其布局

        //添加监听器
        jMenuItem1.addActionListener(this);
        jMenuFileExit.addActionListener(this);
        setJMenuBar(jMenuBar1);//添加菜单条
        //添加菜单组件到菜单条
        jMenuBar1.add(jMenuFile);
        jMenuBar1.add(jMenu1);
        jMenuBar1.add(jMenuFileExit);
        //添加选项到菜单组件
        jMenuFile.add(jMenuFileExit);
        jMenu1.add(jMenuItem1);
        //添加标签到内容面板
        contentPane.add(jLabel);
        contentPane.add(jLabe2);
        //设置标签大小和字体
        jLabel.setFont(new java.awt.Font("宋体",Font.BOLD,25));
        jLabel.setBounds(new Rectangle(140,135,275,55));
        jLabe2.setFont(new java.awt.Font("宋体",Font.BOLD,20));
        jLabe2.setBounds(new Rectangle(160,190,200,35));
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();//获取屏幕尺寸
        Dimension frameSize = this.getSize();//获取主界面尺寸
        if(frameSize.height>screenSize.height)frameSize.height = screenSize.height;
        if(frameSize.width>screenSize.width)frameSize.width = screenSize.width;//主界面居中
        this.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
    }
    public void actionPerformed(ActionEvent actionEvent)
    {
        if(actionEvent.getSource() == jMenuFileExit)//点击的菜单下的“退出”菜单项
        {
            System.exit(0);
        }
        if(actionEvent.getSource() == jMenuItem1)
        {
            login ff = new login();
            this.setVisible(false);
        }
    }
}

15、最后放点我这里运行的图,图都是我的美工做的,在这里灰常的感概,有个美工真的是开发快又方便
 




我这里图片显示的都是调成200*200的,所以会有点不协调,实际运行出来的比例很好的。
这就是全部的代码啦,完美运行,毫无压力,数据库中的表格就要靠自己创建了~~。
评论 37
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值