Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import com.itextpdf.text.Document;
- import com.itextpdf.text.pdf.PdfPTable;
- import com.itextpdf.text.pdf.PdfWriter;
- import java.io.FileOutputStream;
- import java.sql.SQLException;
- import java.text.MessageFormat;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import javax.swing.JOptionPane;
- import javax.swing.JTable;
- import javax.swing.table.DefaultTableModel;
- public class frmStart extends javax.swing.JFrame {
- // DefaultTableModel dm;
- conn cn = new conn();
- String url = "jdbc:firebirdsql://localhost:3050/C:\\PHONEBOOKFINAL.FDB";
- String driver = "org.firebirdsql.jdbc.FBDriver";
- String user = "SYSDBA";
- String password = "masterkey";
- DefaultTableModel list = new DefaultTableModel();
- public void AssembleList(){
- if(!"".equals(txtSearch.getText())){
- list.setColumnCount(0);
- list.setRowCount(0);
- cn.connect(url,driver,user,password);
- String sql = " SELECT * FROM contact"
- + " WHERE name"
- + " LIKE '%"+txtSearch.getText().toUpperCase()+"%' OR tel"
- + " LIKE '%"+txtSearch.getText()+"%'"
- + " ORDER BY name";
- cn.executeQuery(sql);
- list.addColumn("ID");
- list.addColumn("Name");
- list.addColumn("Telephone");
- try{
- while(cn.rs.next()){
- list.addRow(new String[]{cn.rs.getString("ID"), cn.rs.getString("name"),cn.rs.getString("tel")});
- }
- } catch(SQLException ex){
- JOptionPane.showMessageDialog(null,"Error " + ex);
- }
- cn.disconnect();
- jTable1.setModel(list);
- }
- else{
- list.setColumnCount(0);
- list.setRowCount(0);
- jTable1.setModel(list);
- }
- }
- public void disAllList(){
- list.setColumnCount(0);
- list.setRowCount(0);
- cn.connect(url,driver,user,password);
- String sql = " SELECT * FROM contact ORDER BY id";
- cn.executeQuery(sql);
- list.addColumn("ID");
- list.addColumn("Name");
- list.addColumn("Telephone");
- try{
- while(cn.rs.next()){
- list.addRow(new String[]{cn.rs.getString("ID"), cn.rs.getString("name"),cn.rs.getString("tel")});
- }
- } catch(SQLException ex){
- JOptionPane.showMessageDialog(null,"Error " + ex);
- }
- cn.disconnect();
- jTable1.setModel(list);
- }
- public void Select(){
- int line = jTable1.getSelectedRow();
- txtID.setText(jTable1.getValueAt(line,0).toString());
- txtName.setText(jTable1.getValueAt(line,1).toString());
- txtTele.setText(jTable1.getValueAt(line,2).toString());
- }
- @SuppressWarnings("unchecked")
- public frmStart() {
- initComponents();
- // CreateColumns();
- }
- // private void CreateColumns(){
- //
- // dm=(DefaultTableModel) jTable1.getModel();
- //
- // dm.addColumn("Name");
- // dm.addColumn("Telephone");
- //
- // }
- // private void Populate(String name, String tele){
- // String[] rowData={name,tele};
- // dm.addRow(rowData);
- // }
- // <editor-fold defaultstate="collapsed" desc="Generated Code">
- private void initComponents() {
- jScrollPane1 = new javax.swing.JScrollPane();
- jTable1 = new javax.swing.JTable();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- txtSearch = new javax.swing.JTextField();
- txtID = new javax.swing.JTextField();
- txtName = new javax.swing.JTextField();
- txtTele = new javax.swing.JTextField();
- btnRegister = new javax.swing.JButton();
- btnDelete = new javax.swing.JButton();
- btnEditName = new javax.swing.JButton();
- btnCancelName = new javax.swing.JButton();
- btnSaveName = new javax.swing.JButton();
- btnEditTele = new javax.swing.JButton();
- btnCancelTele = new javax.swing.JButton();
- btnSaveTele = new javax.swing.JButton();
- btnDispAll = new javax.swing.JButton();
- jButton1 = new javax.swing.JButton();
- jButton_pdf = new javax.swing.JButton();
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- addWindowListener(new java.awt.event.WindowAdapter() {
- public void windowOpened(java.awt.event.WindowEvent evt) {
- formWindowOpened(evt);
- }
- });
- jTable1.setModel(new javax.swing.table.DefaultTableModel(
- new Object [][] {
- },
- new String [] {
- }
- ));
- jTable1.addMouseListener(new java.awt.event.MouseAdapter() {
- public void mouseClicked(java.awt.event.MouseEvent evt) {
- jTable1MouseClicked(evt);
- }
- });
- jTable1.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyReleased(java.awt.event.KeyEvent evt) {
- jTable1KeyReleased(evt);
- }
- });
- jScrollPane1.setViewportView(jTable1);
- jLabel1.setText("Search");
- jLabel2.setText("ID");
- jLabel3.setText("Name");
- jLabel4.setText("Telephone");
- txtSearch.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- txtSearchActionPerformed(evt);
- }
- });
- txtSearch.addKeyListener(new java.awt.event.KeyAdapter() {
- public void keyReleased(java.awt.event.KeyEvent evt) {
- txtSearchKeyReleased(evt);
- }
- });
- txtID.setEnabled(false);
- txtName.setEnabled(false);
- txtName.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- txtNameActionPerformed(evt);
- }
- });
- txtTele.setEnabled(false);
- btnRegister.setText("Go To USER REGISTRATION");
- btnRegister.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnRegisterActionPerformed(evt);
- }
- });
- btnDelete.setText("Delete");
- btnDelete.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnDeleteActionPerformed(evt);
- }
- });
- btnEditName.setText("Edit");
- btnEditName.setToolTipText("");
- btnEditName.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnEditNameActionPerformed(evt);
- }
- });
- btnCancelName.setText("Cancel");
- btnCancelName.setEnabled(false);
- btnCancelName.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnCancelNameActionPerformed(evt);
- }
- });
- btnSaveName.setText("Save");
- btnSaveName.setEnabled(false);
- btnSaveName.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnSaveNameActionPerformed(evt);
- }
- });
- btnEditTele.setText("Edit");
- btnEditTele.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnEditTeleActionPerformed(evt);
- }
- });
- btnCancelTele.setText("Cancel");
- btnCancelTele.setEnabled(false);
- btnCancelTele.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnCancelTeleActionPerformed(evt);
- }
- });
- btnSaveTele.setText("Save");
- btnSaveTele.setEnabled(false);
- btnSaveTele.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnSaveTeleActionPerformed(evt);
- }
- });
- btnDispAll.setText("Display All");
- btnDispAll.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- btnDispAllActionPerformed(evt);
- }
- });
- jButton1.setText("Direct Print");
- jButton1.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton1ActionPerformed(evt);
- }
- });
- jButton_pdf.setText("Generate Report ");
- jButton_pdf.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButton_pdfActionPerformed(evt);
- }
- });
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(32, 32, 32)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabel3)
- .addComponent(jLabel2)
- .addComponent(jLabel1))
- .addGap(25, 25, 25)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
- .addComponent(txtID, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 342, Short.MAX_VALUE)
- .addComponent(txtName, javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(txtSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(btnDispAll)
- .addGap(33, 33, 33))))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabel4)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(txtTele, javax.swing.GroupLayout.DEFAULT_SIZE, 335, Short.MAX_VALUE)))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnEditTele)
- .addGap(6, 6, 6)
- .addComponent(btnCancelTele)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnSaveTele))
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnEditName)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(btnDelete)
- .addGroup(layout.createSequentialGroup()
- .addComponent(btnCancelName)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(btnSaveName))))
- .addComponent(btnRegister, javax.swing.GroupLayout.PREFERRED_SIZE, 209, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(21, 21, 21))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(122, 122, 122))
- .addGroup(layout.createSequentialGroup()
- .addGap(230, 230, 230)
- .addComponent(jButton1)
- .addGap(18, 18, 18)
- .addComponent(jButton_pdf)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(32, 32, 32)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel1)
- .addComponent(txtSearch, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnRegister)
- .addComponent(btnDispAll))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel2)
- .addComponent(txtID, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnDelete))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel3)
- .addComponent(txtName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnEditName)
- .addComponent(btnCancelName)
- .addComponent(btnSaveName))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabel4)
- .addComponent(txtTele, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(btnEditTele)
- .addComponent(btnCancelTele)
- .addComponent(btnSaveTele))
- .addGap(45, 45, 45)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 129, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jButton_pdf, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButton1))
- .addContainerGap(34, Short.MAX_VALUE))
- );
- pack();
- }// </editor-fold>
- private void txtSearchActionPerformed(java.awt.event.ActionEvent evt) {
- frmRegister form = new frmRegister();
- form.setVisible(true);
- this.setVisible(false);
- }
- private void txtSearchKeyReleased(java.awt.event.KeyEvent evt) {
- AssembleList();
- }
- private void jTable1KeyReleased(java.awt.event.KeyEvent evt) {
- Select();
- }
- private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {
- Select();
- }
- private void btnSaveNameActionPerformed(java.awt.event.ActionEvent evt) {
- cn.connect(url,driver,user,password);
- String sql = " update contact "
- + " SET name = '" + txtName.getText()
- + "' WHERE ID = " + Integer.parseInt(txtID.getText());
- cn.executeUpdate(sql);
- cn.disconnect();
- txtName.setEnabled(false);
- btnEditName.setEnabled(true);
- btnSaveName.setEnabled(false);
- btnCancelName.setEnabled(false);
- disAllList();
- }
- private void btnEditNameActionPerformed(java.awt.event.ActionEvent evt) {
- txtName.setEnabled(true);
- btnSaveName.setEnabled(true);
- btnEditName.setEnabled(true);
- btnCancelName.setEnabled(true);
- }
- private void btnSaveTeleActionPerformed(java.awt.event.ActionEvent evt) {
- cn.connect(url,driver,user,password);
- String sql = " UPDATE contact "
- + " SET tel = '" + txtTele.getText()
- + "' Where id = " + Integer.parseInt(txtID.getText());
- cn.executeUpdate(sql);
- cn.disconnect();
- txtTele.setEnabled(false);
- btnEditTele.setEnabled(true);
- btnSaveTele.setEnabled(false);
- btnCancelTele.setEnabled(false);
- disAllList();
- }
- private void btnEditTeleActionPerformed(java.awt.event.ActionEvent evt) {
- txtTele.setEnabled(true);
- btnSaveTele.setEnabled(true);
- btnEditTele.setEnabled(true);
- btnCancelTele.setEnabled(true);
- }
- private void btnCancelTeleActionPerformed(java.awt.event.ActionEvent evt) {
- txtTele.setEnabled(false);
- btnSaveTele.setEnabled(false);
- btnCancelTele.setEnabled(false);
- btnEditTele.setEnabled(true);
- disAllList();
- }
- private void btnCancelNameActionPerformed(java.awt.event.ActionEvent evt) {
- txtName.setEnabled(false);
- btnSaveName.setEnabled(false);
- btnCancelName.setEnabled(false);
- btnEditName.setEnabled(true);
- disAllList();
- }
- private void formWindowOpened(java.awt.event.WindowEvent evt) {
- this.setTitle("PhoneBook Database");
- }
- private void btnDeleteActionPerformed(java.awt.event.ActionEvent evt) {
- cn.connect(url,driver,user,password);
- String sql;
- int resp=JOptionPane.showConfirmDialog(null,"Confirm Deletion of ID?");
- if(resp==JOptionPane.YES_OPTION){
- sql= "DELETE FROM contact "
- + " WHERE id = " + Integer.parseInt(txtID.getText());
- JOptionPane.showMessageDialog(null,"Successfully Deleted!");
- cn.executeUpdate(sql);
- cn.disconnect();
- txtName.setEnabled(false);
- btnEditName.setEnabled(true);
- btnSaveName.setEnabled(false);
- btnCancelName.setEnabled(false);
- btnSaveTele.setEnabled(false);
- btnCancelTele.setEnabled(false);
- txtSearch.setText("");
- txtID.setText("");
- txtName.setText("");
- txtTele.setText("");
- disAllList();
- }
- }
- private void btnRegisterActionPerformed(java.awt.event.ActionEvent evt) {
- this.setVisible(false);
- frmRegister form = new frmRegister();
- form.setVisible(true);
- }
- private void btnDispAllActionPerformed(java.awt.event.ActionEvent evt) {
- disAllList();
- }
- private void txtNameActionPerformed(java.awt.event.ActionEvent evt) {
- // TODO add your handling code here:
- }
- private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- try{
- MessageFormat header = new MessageFormat ("Report Print");
- MessageFormat footer = new MessageFormat ("page{1,number,integer}");
- jTable1.print(JTable.PrintMode.FIT_WIDTH,header,footer);
- }catch(Exception e){
- JOptionPane.showMessageDialog(null,e);
- }
- }
- private void jButton_pdfActionPerformed(java.awt.event.ActionEvent evt) {
- try{
- Document doc = new Document();
- PdfWriter.getInstance(doc, new FileOutputStream("Contact_Report.PDF"));
- doc.open();
- PdfPTable pdfTable = new PdfPTable(jTable1.getColumnCount());
- for (int i =0 ; i < jTable1.getColumnCount();i++){
- pdfTable.addCell(jTable1.getColumnName(i));
- }
- for(int rows=0; rows < jTable1.getRowCount()-1; rows++){
- for(int cols =0; cols< jTable1.getColumnCount(); cols++){
- pdfTable.addCell(jTable1.getModel().getValueAt(rows,cols).toString());
- }
- }
- doc.add(pdfTable);
- doc.close();
- System.out.println("Report Successfully Generated");
- JOptionPane.showMessageDialog(null, "Report Successfully Generated at path C:\\Users\\Adrian\\Documents\\NetBeansProjects\\UNIVERSITY");
- } catch (Exception e){
- JOptionPane.showMessageDialog(null, "An error occured");
- }
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(frmStart.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(frmStart.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(frmStart.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(frmStart.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- new frmStart().setVisible(true);
- }
- });
- }
- // Variables declaration - do not modify
- private javax.swing.JButton btnCancelName;
- private javax.swing.JButton btnCancelTele;
- private javax.swing.JButton btnDelete;
- private javax.swing.JButton btnDispAll;
- private javax.swing.JButton btnEditName;
- private javax.swing.JButton btnEditTele;
- private javax.swing.JButton btnRegister;
- private javax.swing.JButton btnSaveName;
- private javax.swing.JButton btnSaveTele;
- private javax.swing.JButton jButton1;
- private javax.swing.JButton jButton_pdf;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JScrollPane jScrollPane1;
- private javax.swing.JTable jTable1;
- private javax.swing.JTextField txtID;
- private javax.swing.JTextField txtName;
- private javax.swing.JTextField txtSearch;
- private javax.swing.JTextField txtTele;
- // End of variables declaration
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement