aquaballoon

Java - unlimited rows in JTable

Apr 27th, 2014
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.40 KB | None | 0 0
  1. package mysql;
  2.  
  3. import java.sql.*;
  4. import javax.swing.JOptionPane;
  5. import javax.swing.table.DefaultTableModel;
  6.  
  7. /**
  8.  *
  9.  * @author jlee
  10.  */
  11. public class Window extends javax.swing.JFrame {
  12.  
  13.     String driver = "com.mysql.jdbc.Driver";
  14.     String url = "jdbc:mysql://localhost/ITDB";
  15.     String user = "root";
  16.     String pass = "abc123";
  17.  
  18.     Connection conn;
  19.     Statement stm;
  20.     ResultSet result;
  21.  
  22.     DefaultTableModel model;
  23.  
  24.     public Window() {
  25.         dbConn();
  26.         initComponents();
  27.         tableLoad();
  28.     }
  29.    
  30.     void dbConn() {
  31.         try {
  32.             Class.forName(driver);
  33.             conn = DriverManager.getConnection(url, user, pass);
  34.             stm = conn.createStatement();
  35.  
  36.         } catch (Exception e) {
  37.             JOptionPane.showMessageDialog(null, "Warning: " + e.getMessage());
  38.         }
  39.     }
  40.  
  41.     void tableLoad() { //main table loading class
  42.         String[] colTitle = {"Name", "Email"};
  43.         String[] rowData = new String[2];
  44.         String sSQL = "";
  45.  
  46.         model = new DefaultTableModel(null, colTitle);
  47.        
  48.  
  49.         sSQL = "SELECT * FROM ITTB";
  50.         try {
  51.             //PreparedStatement stm = conn.prepareStatement(sSQL);
  52.             stm = conn.createStatement();
  53.             ResultSet rs = stm.executeQuery(sSQL);
  54.  
  55.             while (rs.next()) {
  56.                 rowData[0] = rs.getString("Name");
  57.                 rowData[1] = rs.getString("Email");
  58.  
  59.                 model.addRow(rowData);
  60.             }
  61.             table.setModel(model);
  62.  
  63.         } catch (SQLException ex) {
  64.             JOptionPane.showMessageDialog(null, ex);
  65.         }
  66.     }
  67.  
  68.     @SuppressWarnings("unchecked")
  69.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  70.     private void initComponents() {
  71.  
  72.         jButton1 = new javax.swing.JButton();
  73.         outInfo = new javax.swing.JLabel();
  74.         jScrollPane1 = new javax.swing.JScrollPane();
  75.         table = new javax.swing.JTable();
  76.         btSearch = new javax.swing.JButton();
  77.         inName = new javax.swing.JTextField();
  78.         btExit = new javax.swing.JButton();
  79.  
  80.         jButton1.setText("jButton1");
  81.  
  82.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  83.  
  84.         table.setModel(new javax.swing.table.DefaultTableModel(
  85.             new Object [][] {
  86.                 {},
  87.                 {},
  88.                 {},
  89.                 {}
  90.             },
  91.             new String [] {
  92.  
  93.             }
  94.         ));
  95.         jScrollPane1.setViewportView(table);
  96.  
  97.         btSearch.setText("Search by Name");
  98.         btSearch.addActionListener(new java.awt.event.ActionListener() {
  99.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  100.                 btSearchActionPerformed(evt);
  101.             }
  102.         });
  103.  
  104.         inName.addActionListener(new java.awt.event.ActionListener() {
  105.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  106.                 inNameActionPerformed(evt);
  107.             }
  108.         });
  109.  
  110.         btExit.setText("Exit");
  111.         btExit.addActionListener(new java.awt.event.ActionListener() {
  112.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  113.                 btExitActionPerformed(evt);
  114.             }
  115.         });
  116.  
  117.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  118.         getContentPane().setLayout(layout);
  119.         layout.setHorizontalGroup(
  120.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  121.             .addGroup(layout.createSequentialGroup()
  122.                 .addGap(26, 26, 26)
  123.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  124.                     .addComponent(btExit, javax.swing.GroupLayout.Alignment.TRAILING)
  125.                     .addComponent(outInfo, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  126.                     .addGroup(layout.createSequentialGroup()
  127.                         .addComponent(btSearch)
  128.                         .addGap(18, 18, 18)
  129.                         .addComponent(inName))
  130.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 373, Short.MAX_VALUE))
  131.                 .addContainerGap(24, Short.MAX_VALUE))
  132.         );
  133.         layout.setVerticalGroup(
  134.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  135.             .addGroup(layout.createSequentialGroup()
  136.                 .addGap(20, 20, 20)
  137.                 .addComponent(btExit)
  138.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  139.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 229, Short.MAX_VALUE)
  140.                 .addGap(18, 18, 18)
  141.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  142.                     .addComponent(btSearch)
  143.                     .addComponent(inName, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing.GroupLayout.PREFERRED_SIZE))
  144.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  145.                 .addComponent(outInfo, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
  146.                 .addContainerGap())
  147.         );
  148.  
  149.         pack();
  150.     }// </editor-fold>                        
  151.  
  152.    
  153.     private void btSearchActionPerformed(java.awt.event.ActionEvent evt) {                                        
  154.         // TODO add your handling code here:
  155.         try {
  156.  
  157.             String nameSearch = inName.getText();
  158.             String sqlSearch = "select * from ITTB where name = '" + nameSearch + "'";
  159.             result = stm.executeQuery(sqlSearch);
  160.             while (result.next()) {
  161.                 String name = result.getString("name");
  162.                 String email = result.getString("email");
  163.                 outInfo.setText(name + " " + email);
  164.             }
  165.  
  166. //            result.close();
  167. //            stm.close();
  168. //            conn.close();
  169.         } catch (Exception e) {
  170.             JOptionPane.showMessageDialog(null, e.getMessage());
  171.         }
  172.  
  173.     }                                        
  174.  
  175.     private void inNameActionPerformed(java.awt.event.ActionEvent evt) {                                      
  176.         // TODO add your handling code here:
  177.         inName.transferFocus();
  178.     }                                      
  179.  
  180.     private void btExitActionPerformed(java.awt.event.ActionEvent evt) {                                      
  181.         // TODO add your handling code here:
  182.        
  183.         //JOptionPane.showMessageDialog(null, "HI");
  184.         this.dispose();
  185. //        try {
  186. //            result.close();
  187. //            stm.close();
  188. //            conn.close();
  189. //            
  190. //            
  191. //            
  192. //        } catch (Exception e) {
  193. //            JOptionPane.showConfirmDialog(null, "Error: "+e.getMessage());
  194. //        }
  195.        
  196.     }                                      
  197.  
  198.     // Variables declaration - do not modify                    
  199.     private javax.swing.JButton btExit;
  200.     private javax.swing.JButton btSearch;
  201.     private javax.swing.JTextField inName;
  202.     private javax.swing.JButton jButton1;
  203.     private javax.swing.JScrollPane jScrollPane1;
  204.     private javax.swing.JLabel outInfo;
  205.     private javax.swing.JTable table;
  206.     // End of variables declaration                  
  207. }
Advertisement
Add Comment
Please, Sign In to add comment