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

📄 queryjdialog.java

📁 电子通讯录实现网上保存朋友
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. *//* * QueryJDialog.java * * Created on 2008-12-25, 9:18:22 */package frame;import entity.Record;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Vector;import java.util.logging.Level;import java.util.logging.Logger;import javax.swing.JFileChooser;import javax.swing.JOptionPane;import javax.swing.table.DefaultTableModel;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.poi.hssf.usermodel.contrib.HSSFCellUtil;import utils.DBUtils;/** * * @author Jason */public class QueryJDialog extends javax.swing.JDialog {    /** Creates new form QueryJDialog */    public QueryJDialog(java.awt.Frame parent, boolean modal) {        super(parent, modal);        initComponents();    }    /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    @SuppressWarnings("unchecked")    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents    private void initComponents() {        jLabel1 = new javax.swing.JLabel();        jComboBox1 = new javax.swing.JComboBox();        jLabel2 = new javax.swing.JLabel();        jTextField1 = new javax.swing.JTextField();        jButton1 = new javax.swing.JButton();        jScrollPane1 = new javax.swing.JScrollPane();        jTable1 = new javax.swing.JTable();        jButton2 = new javax.swing.JButton();        jButton3 = new javax.swing.JButton();        jButton4 = new javax.swing.JButton();        jButton5 = new javax.swing.JButton();        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);        jLabel1.setText("请选择类别:");        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "    ", "姓名", "手机" }));        jLabel2.setText("输入关键字:");        jButton1.setText("查  询");        jButton1.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton1ActionPerformed(evt);            }        });        jTable1.setModel(new javax.swing.table.DefaultTableModel(            new Object [][] {            },            new String [] {                "姓名", "性别", "生日", "固话/传真", "手机", "办公地址", "家庭住址", "Email", "QQ", "备注"            }        ));        jScrollPane1.setViewportView(jTable1);        jButton2.setText("退 出");        jButton3.setText("数据导出");        jButton3.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                jButton3ActionPerformed(evt);            }        });        jButton4.setText("删 除");        jButton5.setText("修 改");        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());        getContentPane().setLayout(layout);        layout.setHorizontalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addContainerGap()                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)                    .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 754, Short.MAX_VALUE)                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()                        .addComponent(jLabel1)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, 119, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jLabel2)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton1))                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()                        .addComponent(jButton5)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton4)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton3)                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)                        .addComponent(jButton2)))                .addContainerGap())        );        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jButton2, jButton3, jButton4, jButton5});        layout.setVerticalGroup(            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)            .addGroup(layout.createSequentialGroup()                .addContainerGap()                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jLabel1)                    .addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jLabel2)                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)                    .addComponent(jButton1))                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 369, Short.MAX_VALUE)                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)                    .addComponent(jButton2)                    .addComponent(jButton3)                    .addComponent(jButton4)                    .addComponent(jButton5))                .addContainerGap())        );        pack();    }// </editor-fold>//GEN-END:initComponents    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed        // TODO add your handling code here:        DefaultTableModel dtm =                (DefaultTableModel) this                 .jTable1.getModel();        int size = this.jTable1.getRowCount();        for(int i=0;i<size;i++){            dtm.removeRow(0);        }        String type =                (String) this.jComboBox1.getSelectedItem();        String keyWord =                this.jTextField1.getText();        if(type.trim().length() == 0                && keyWord.trim().length() !=0){            JOptionPane.showMessageDialog(this,                    "请选择查询类别");            return;        }        if(type.trim().length() != 0                && keyWord.trim().length() == 0){            JOptionPane.showMessageDialog(this,                    "请输入关键字");            return;        }        String sql = "select * from t_record";        if(type.trim().length() != 0                && keyWord.trim().length() != 0){            if(type.equals("姓名")){                sql += " where name like ";            }else if(type.equals("手机")){                sql += " where mobile like ";            }            sql += "'%" + keyWord.trim() + "%'";        }        //System.out.println(sql);        Connection con = DBUtils.getConnection();        Statement stmt = null;        try {            stmt = con.createStatement();            ResultSet rs = stmt.executeQuery(sql);            boolean flag = false;            while(rs.next()){                flag = true;                               Record record = new Record();                record.setRecordid(rs.getInt(1));                record.setName(rs.getString(2));                record.setSex(rs.getBoolean(3));                record.setBirthday(rs.getDate(4));                record.setPhone(rs.getString(5));                record.setMobile(rs.getString(6));                record.setOfficeaddr(rs.getString(7));                record.setHomeaddr(rs.getString(8));                record.setEmail(rs.getString(9));                record.setQq(rs.getString(10));                record.setRemark(rs.getString(11));                record.setTypeid(rs.getInt(12));                                    Vector rowData = new Vector();                rowData.add(record);                String sex = record.isSex()?"男":"女";                rowData.add(sex);                Date birthday = record.getBirthday();                String date = "";                if(birthday != null){                    SimpleDateFormat sdf =                        new SimpleDateFormat("yyyy-MM-dd");                    date = sdf.format(birthday);                }                rowData.add(date);                String phone = record.getPhone();                phone = phone==null?"":phone;                rowData.add(phone);                String mobile = record.getMobile();                mobile = mobile==null?"":mobile;                rowData.add(mobile);                String officeaddr = record.getOfficeaddr();                officeaddr = officeaddr==null?"":officeaddr;                rowData.add(officeaddr);                String homeaddr = record.getHomeaddr();                homeaddr = homeaddr==null?"":homeaddr;                rowData.add(homeaddr);                String email = record.getEmail();                email = email==null?"":email;                rowData.add(email);                String qq = record.getQq();                qq = qq==null?"":qq;                rowData.add(qq);                String remark = record.getRemark();                remark = remark==null?"":remark;                rowData.add(remark);                dtm.addRow(rowData);            }            if(!flag){                JOptionPane.showMessageDialog(this,                        "没有查到匹配记录!");            }        } catch (SQLException ex) {            Logger.getLogger(QueryJDialog.class.getName())                    .log(Level.SEVERE, null, ex);        }finally{            DBUtils.closeAll(stmt, con);        }    }//GEN-LAST:event_jButton1ActionPerformed    private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton3ActionPerformed        // TODO add your handling code here:        if(this.jTable1.getRowCount() == 0){            JOptionPane.showMessageDialog(this,                    "没有要导出的数据!");            return;        }        JFileChooser fileChooser =                new JFileChooser();        int result = fileChooser.showSaveDialog(this);        if(result == JFileChooser.APPROVE_OPTION){            File file =                    fileChooser.getSelectedFile();            System.out.println(file.getAbsolutePath());            String filename = file.getAbsolutePath();            int index = filename.indexOf(".");            if(index == -1){                filename += ".xls";            }else{                String extension = filename.substring(index+1);                if(!extension.equals(".xls")){                    filename = filename.substring(0,index) + ".xls";                }            }            try {                FileOutputStream fos =                        new FileOutputStream(filename);                HSSFWorkbook workbook = new HSSFWorkbook();                HSSFSheet sheet =                        workbook.createSheet("个人通讯录");                HSSFRow row = sheet.createRow(0);                String[] colsName = new String[]{                    "姓名","性别","生日","固话/传真",                    "手机","办公地址","家庭住址","Email","qq",                    "备注"                };                for(int i=0;i<colsName.length;i++){                    HSSFCellUtil.createCell(row, i, colsName[i]);                }                DefaultTableModel dtm =                        (DefaultTableModel) this.jTable1.getModel();                Vector v = dtm.getDataVector();                for(int i=0;i<v.size();i++){                    HSSFRow row1 = sheet.createRow(i+1);                    Vector rowData = (Vector) v.get(i);                    for(int j=0;j<rowData.size();j++){                        HSSFCellUtil.createCell(                                row1,j,rowData.get(j).toString());                    }                }                workbook.write(fos);                fos.close();            } catch (IOException ex) {                Logger.getLogger(QueryJDialog.class.getName()).log(Level.SEVERE, null, ex);            }         }    }//GEN-LAST:event_jButton3ActionPerformed    /**    * @param args the command line arguments    */    public static void main(String args[]) {        java.awt.EventQueue.invokeLater(new Runnable() {            public void run() {                QueryJDialog dialog = new QueryJDialog(new javax.swing.JFrame(), true);                dialog.addWindowListener(new java.awt.event.WindowAdapter() {                    public void windowClosing(java.awt.event.WindowEvent e) {                        System.exit(0);                    }                });                dialog.setVisible(true);            }        });    }    // Variables declaration - do not modify//GEN-BEGIN:variables    private javax.swing.JButton jButton1;    private javax.swing.JButton jButton2;    private javax.swing.JButton jButton3;    private javax.swing.JButton jButton4;    private javax.swing.JButton jButton5;    private javax.swing.JComboBox jComboBox1;    private javax.swing.JLabel jLabel1;    private javax.swing.JLabel jLabel2;    private javax.swing.JScrollPane jScrollPane1;    private javax.swing.JTable jTable1;    private javax.swing.JTextField jTextField1;    // End of variables declaration//GEN-END:variables}

⌨️ 快捷键说明

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