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

📄 chkframe.java

📁 简单的留言版
💻 JAVA
字号:
package res;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.SystemColor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import java.util.Vector;
import javax.swing.table.AbstractTableModel;
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.JScrollPane;
import java.awt.Color;
import javax.swing.UIManager;

/**
 * <p>Title: 同学信息查询窗口</p>
 *
 * <p>Description: 查看同学的个人注册信息 </p>
 *
 * <p>Copyright: A1Q6073-未定义小组 2006</p>
 *
 * <p>Company: 北大青鸟Aptech(西安毕诚) </p>
 *
 * @author not 王亮 冯瑞 冯鹏 刘文涛 赵凡(按姓氏笔画排序)
 * @version 1.0
 */

public class ChkFrame extends JFrame {
    JLabel lblCname = new JLabel();
    JButton btnCchk = new JButton();
    JLabel lblCtit = new JLabel();
    JTextField txtCname = new JTextField();
    String title[] = {"序号","学号", "姓名", "性别", "电话", "电子邮件", "地址"};
    Vector vc;
    AbstractTableModel tm;
    MainFrame mfc;

    DBconnection db = new DBconnection();
    ResultSet rs;
    JTable jtbCmeg = new JTable();
    JScrollPane jScrollPane1 = new JScrollPane();
    JButton btnCchkall = new JButton();
    public ChkFrame(MainFrame mf) {
        try {
            mfc = mf;
            ShowJTable();
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        getContentPane().setLayout(null);
        this.getContentPane().setBackground(SystemColor.activeCaptionBorder);
        this.setResizable(false);
        this.addWindowListener(new ChkFrame_this_windowAdapter(this));
        lblCname.setFont(new java.awt.Font("宋体", Font.PLAIN, 16));
        lblCname.setText("姓名:");
        lblCname.setBounds(new Rectangle(46, 71, 46, 29));
        btnCchk.setBounds(new Rectangle(207, 73, 62, 23));
        btnCchk.setOpaque(false);
        btnCchk.setText("查询");
        btnCchk.addActionListener(new ChkFrame_btnCchk_actionAdapter(this));
        lblCtit.setFont(new java.awt.Font("楷体_GB2312", Font.BOLD, 22));
        lblCtit.setText("信息查询");
        lblCtit.setBounds(new Rectangle(31, 26, 94, 30));
        txtCname.setBounds(new Rectangle(89, 73, 108, 23));
        TestImage tImage = new TestImage();
        jScrollPane1.setForeground(SystemColor.activeCaptionText);
        jScrollPane1.setBounds(new Rectangle(35, 120, 499, 178));
        jtbCmeg.setGridColor(UIManager.getColor("CheckBox.background"));
        btnCchkall.setBounds(new Rectangle(285, 73, 86, 23));
        btnCchkall.setOpaque(false);
        btnCchkall.setText("查询全部");
        btnCchkall.addActionListener(new ChkFrame_btnCchkall_actionAdapter(this));
        this.getContentPane().add(tImage);
        tImage.add(lblCtit);
        tImage.add(jScrollPane1);
        tImage.add(lblCname);
        tImage.add(txtCname);
        tImage.add(btnCchk);
        tImage.add(btnCchkall);
        jScrollPane1.getViewport().add(jtbCmeg);
        tImage.setLayout(null);
        tImage.setBounds(new Rectangle(0, 0, 565, 315)); //面板图片大小,下行为需要插的图片
        tImage.setImage("image\\f.jpg");
        tImage.setSize(565, 315);
        setTitle("信息查询");
    }

    /*自定义在JTable里显示查询结果*/
    public void ShowJTable() {
        try {
            vc = new Vector();

            tm = new AbstractTableModel() {
                public int getColumnCount() {
                    return title.length;
                }

                public int getRowCount() {
                    return vc.size();
                }

                public Object getValueAt(int row, int column) {
                    if (!vc.isEmpty()) {
                        return ((Vector) vc.elementAt(row)).elementAt(column);

                    } else {
                        return null;
                    }
                }

                public String getColumnName(int column) {
                    return title[column];
                }

                //数据模型不可编辑,该方法设置为空
                public void setValueAt
                        (Object value, int row, int column) {}

                //取得列所属对象类
                public Class getColumnClass(int c) {
                    return getValueAt(0, c).getClass();
                }

                //设置单元格不可编辑,为缺省实现
                public boolean isCellEditable(int row, int column) {
                    return false;
                }
            };
            //生成自己的数据模型
            jtbCmeg = new JTable(tm);
            //设置帮助提示
            jtbCmeg.setToolTipText("显示全部查询结果");
            //设置表格调整尺寸模式
            jtbCmeg.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
            //设置单元格选择方式
            jtbCmeg.setCellSelectionEnabled(false);
            //设置是否显示单元格间的分割线
            jtbCmeg.setShowVerticalLines(true);
            //设置表是否绘制单元格之间的水平线
            jtbCmeg.setShowHorizontalLines(true);

        } catch (Exception exception) {
            exception.printStackTrace();
        }

    }

    /*查询事件*/
    public void btnCchk_actionPerformed(ActionEvent e) {
        String sql = "select * from stumeg where sname='" + txtCname.getText() +
                     "'";
        rs = db.GetRs(sql);
        try {
            //判断要查询的姓名是否为空
            if (txtCname.getText().trim().equals("")) {
                JOptionPane.showMessageDialog(this, "您没有输入您要查询的姓名!");
            } else if (rs != null && rs.next() != true) { // 判断要查询的姓名是否存在
                JOptionPane.showMessageDialog(this, "对不起,没有您输入姓名!");
            } else {
                //初始化向量对象
                vc.removeAllElements();
                //更新表格内容
                tm.fireTableStructureChanged();
                //将指针移动到此 ResultSet 对象的开头
                rs.beforeFirst();
                int i=1;
                while (rs.next()) {
                    Vector rec_vector = new Vector();
                    //从结果集中取数据放入向量rec_vector中
                    rec_vector.addElement(i+"\t");
                    rec_vector.addElement(rs.getString(1));
                    rec_vector.addElement(rs.getString(2));
                    rec_vector.addElement(rs.getString(4));
                    rec_vector.addElement(rs.getString(5));
                    rec_vector.addElement(rs.getString(6));
                    rec_vector.addElement(rs.getString(7));
                    //向量rec_vector加入向量vect中
                    vc.addElement(rec_vector);
                    i++;
                }
                //更新表格,显示向量vect的内容
                tm.fireTableStructureChanged();
                rs.close();
            }
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(this, ex.getMessage() + " 查询事件有误");
        }
    }

    /*窗口关闭事件*/
    public void this_windowClosing(WindowEvent e) {
        mfc.setEnabled(true);
    }

    //查询全部事件
    public void btnCchkall_actionPerformed(ActionEvent e) {
        String sql = "select * from stumeg where id<>'admin'";
        rs = db.GetRs(sql);
        try {
            //初始化向量对象
            vc.removeAllElements();
            //更新表格内容
            tm.fireTableStructureChanged();
            //将指针移动到此 ResultSet 对象的开头
            rs.beforeFirst();
            int i = 1;
            while (rs.next()) {
                Vector rec_vector = new Vector();
                //从结果集中取数据放入向量rec_vector中
                rec_vector.addElement(i + "\t");
                rec_vector.addElement(rs.getString(1));
                rec_vector.addElement(rs.getString(2));
                rec_vector.addElement(rs.getString(4));
                rec_vector.addElement(rs.getString(5));
                rec_vector.addElement(rs.getString(6));
                rec_vector.addElement(rs.getString(7));
                //向量rec_vector加入向量vect中
                vc.addElement(rec_vector);
                i++;
            }
            //更新表格,显示向量vect的内容
            tm.fireTableStructureChanged();
            rs.close();
        } catch (Exception ex) {

        }
    }

}


class ChkFrame_btnCchkall_actionAdapter implements ActionListener {
    private ChkFrame adaptee;
    ChkFrame_btnCchkall_actionAdapter(ChkFrame adaptee) {
        this.adaptee = adaptee;
    }

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


class ChkFrame_this_windowAdapter extends WindowAdapter {
    private ChkFrame adaptee;
    ChkFrame_this_windowAdapter(ChkFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void windowClosing(WindowEvent e) {
        adaptee.this_windowClosing(e);
    }

}


class ChkFrame_btnCchk_actionAdapter implements ActionListener {
    private ChkFrame adaptee;
    ChkFrame_btnCchk_actionAdapter(ChkFrame adaptee) {
        this.adaptee = adaptee;
    }

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

⌨️ 快捷键说明

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