Advertisement
stevennathaniel

Fungsi Edit Data Menggunakan jComboBox

Feb 17th, 2015
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 21.21 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package latihan12;
  7.  
  8. import javax.swing.JComboBox;
  9.  
  10. import javax.swing.SwingUtilities;
  11.  
  12. import javax.swing.JTable;
  13.  
  14. import java.sql.Connection;
  15.  
  16. import java.sql.DriverManager;
  17.  
  18. import java.sql.ResultSet;
  19.  
  20. import java.sql.ResultSetMetaData;
  21.  
  22. import java.sql.Statement;
  23.  
  24. import java.util.logging.Level;
  25.  
  26. import javax.swing.table.DefaultTableModel;
  27.  
  28. import java.sql.*;
  29.  
  30. import java.util.*;
  31.  
  32. import java.util.Locale;
  33.  
  34. import java.util.Vector;
  35.  
  36.  
  37.  
  38. /**
  39.  *
  40.  * @author steven
  41.  */
  42. public class FrameJComboBox14 extends javax.swing.JFrame {
  43.    
  44.     class tampilPilihanTabel{
  45.        
  46.         DefaultTableModel tm = (DefaultTableModel)jTable1.getModel();
  47.        
  48.         int editData = jTable1.getSelectedRow();
  49.        
  50.         String ID = tm.getValueAt(editData, 0).toString();
  51.        
  52.         String namaLengkap = tm.getValueAt(editData, 1).toString();
  53.        
  54.         String namaPanggilan = tm.getValueAt(editData, 2).toString();
  55.        
  56.        
  57.         void tampilID(){
  58.            
  59.            
  60.             jTextField1.setText(ID);
  61.         }
  62.        
  63.        
  64.         void tampilNamaLengkap(){
  65.            
  66.             if(namaLengkap.equals("steven nathaniel")){
  67.                
  68.                 jComboBox1.setSelectedIndex(0);
  69.                
  70.        
  71.             }else if(namaLengkap.equals("yulia mulyawati")){
  72.                
  73.                 jComboBox1.setSelectedIndex(1);
  74.                
  75.             }else if(namaLengkap.equals("noviah dwi lestyorini")){
  76.                
  77.                 jComboBox1.setSelectedIndex(2);
  78.             }
  79.            
  80.            
  81.         }
  82.        
  83.         void tampilNamaPanggilan(){
  84.            
  85.             if(namaPanggilan.equals("steven")){
  86.                
  87.                 jComboBox2.setSelectedIndex(0);
  88.                
  89.                
  90.             }else if(namaPanggilan.equals("meni")){
  91.                
  92.                 jComboBox2.setSelectedIndex(1);
  93.                
  94.                
  95.             }else if(namaPanggilan.equals("novi")){
  96.                
  97.                 jComboBox2.setSelectedIndex(2);
  98.             }
  99.            
  100.            
  101.            
  102.         }
  103.        
  104.        
  105.            
  106.            
  107.        
  108.        
  109.     }
  110.    
  111.    
  112.    
  113.    
  114.  
  115.     /**
  116.      * Creates new form FrameJComboBox14
  117.      */
  118.     public FrameJComboBox14() {
  119.         initComponents();
  120.        
  121.        
  122.         jComboBox1.addItem("steven nathaniel");
  123.        
  124.         jComboBox1.addItem("yulia mulyawati");
  125.        
  126.         jComboBox1.addItem("noviah dwi lestyorini");
  127.        
  128.        
  129.         jComboBox2.addItem("steven");
  130.        
  131.         jComboBox2.addItem("meni");
  132.        
  133.         jComboBox2.addItem("novi");
  134.        
  135.        
  136.         Connection koneksi = null;
  137.        
  138.         Statement stmt = null;
  139.        
  140.         String query = "SELECT id,namalengkap,namapanggilan FROM vector1";
  141.        
  142.         String url = "jdbc:postgresql://localhost:5432/pdam";
  143.        
  144.         String user = "steven";
  145.        
  146.         String password = "kucing";
  147.        
  148.        
  149.         try{
  150.            
  151.            
  152.             koneksi = DriverManager.getConnection(url,user,password);
  153.            
  154.             stmt = koneksi.createStatement();
  155.            
  156.             ResultSet rs = stmt.executeQuery(query);
  157.            
  158.             ResultSetMetaData rsmd = rs.getMetaData();
  159.            
  160.            
  161.             Vector<Vector> coba2 = new Vector<Vector>();
  162.            
  163.             while(rs.next()){
  164.                
  165.                
  166.                 Vector<String> isiBaris = new Vector<String>();
  167.                
  168.                 isiBaris.add(rs.getString("id"));
  169.                
  170.                 isiBaris.add(rs.getString("namalengkap"));
  171.                
  172.                 isiBaris.add(rs.getString("namapanggilan"));
  173.                
  174.                
  175.                 coba2.add(isiBaris);
  176.                
  177.                
  178.                
  179.                 Vector<String> namaKolom = new Vector<String>();
  180.                
  181.                 namaKolom.addElement(rsmd.getColumnLabel(1));
  182.                
  183.                 namaKolom.addElement(rsmd.getColumnLabel(2));
  184.                
  185.                 namaKolom.addElement(rsmd.getColumnLabel(3));
  186.                
  187.                
  188.                 DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  189.                
  190.                 jTable1.setModel(tabel1);
  191.                
  192.                 koneksi.close();
  193.                
  194.                
  195.                
  196.             }
  197.            
  198.            
  199.         }catch (SQLException ex){
  200.            
  201.            
  202.             ex.printStackTrace();
  203.            
  204.            
  205.         }
  206.        
  207.        
  208.        
  209.     }
  210.  
  211.     /**
  212.      * This method is called from within the constructor to initialize the form.
  213.      * WARNING: Do NOT modify this code. The content of this method is always
  214.      * regenerated by the Form Editor.
  215.      */
  216.     @SuppressWarnings("unchecked")
  217.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  218.     private void initComponents() {
  219.  
  220.         jLabel1 = new javax.swing.JLabel();
  221.         jLabel2 = new javax.swing.JLabel();
  222.         jLabel3 = new javax.swing.JLabel();
  223.         jTextField1 = new javax.swing.JTextField();
  224.         jComboBox1 = new javax.swing.JComboBox();
  225.         jComboBox2 = new javax.swing.JComboBox();
  226.         jScrollPane1 = new javax.swing.JScrollPane();
  227.         jTable1 = new javax.swing.JTable();
  228.         jButton1 = new javax.swing.JButton();
  229.         jButton2 = new javax.swing.JButton();
  230.         jButton3 = new javax.swing.JButton();
  231.  
  232.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  233.  
  234.         jLabel1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  235.         jLabel1.setText("ID");
  236.  
  237.         jLabel2.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  238.         jLabel2.setText("Nama Lengkap");
  239.  
  240.         jLabel3.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  241.         jLabel3.setText("Nama Panggilan");
  242.  
  243.         jTextField1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  244.         jTextField1.setEnabled(false);
  245.  
  246.         jComboBox1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  247.  
  248.         jComboBox2.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  249.  
  250.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  251.             new Object [][] {
  252.                 {null, null, null, null},
  253.                 {null, null, null, null},
  254.                 {null, null, null, null},
  255.                 {null, null, null, null}
  256.             },
  257.             new String [] {
  258.                 "Title 1", "Title 2", "Title 3", "Title 4"
  259.             }
  260.         ));
  261.         jScrollPane1.setViewportView(jTable1);
  262.  
  263.         jButton1.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  264.         jButton1.setText("Simpan");
  265.         jButton1.addActionListener(new java.awt.event.ActionListener() {
  266.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  267.                 jButton1ActionPerformed(evt);
  268.             }
  269.         });
  270.  
  271.         jButton2.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  272.         jButton2.setText("Edit");
  273.         jButton2.addActionListener(new java.awt.event.ActionListener() {
  274.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  275.                 jButton2ActionPerformed(evt);
  276.             }
  277.         });
  278.  
  279.         jButton3.setFont(new java.awt.Font("Cantarell", 1, 15)); // NOI18N
  280.         jButton3.setText("Simpan Ulang");
  281.         jButton3.addActionListener(new java.awt.event.ActionListener() {
  282.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  283.                 jButton3ActionPerformed(evt);
  284.             }
  285.         });
  286.  
  287.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  288.         getContentPane().setLayout(layout);
  289.         layout.setHorizontalGroup(
  290.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  291.             .addGroup(layout.createSequentialGroup()
  292.                 .addContainerGap()
  293.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  294.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 509, Short.MAX_VALUE)
  295.                     .addGroup(layout.createSequentialGroup()
  296.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  297.                             .addComponent(jLabel2)
  298.                             .addComponent(jLabel3)
  299.                             .addComponent(jLabel1))
  300.                         .addGap(18, 18, 18)
  301.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  302.                             .addComponent(jComboBox1, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  303.                             .addComponent(jComboBox2, 0, 258, Short.MAX_VALUE)
  304.                             .addComponent(jTextField1))
  305.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  306.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  307.                             .addComponent(jButton3)
  308.                             .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  309.                             .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
  310.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  311.         );
  312.         layout.setVerticalGroup(
  313.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  314.             .addGroup(layout.createSequentialGroup()
  315.                 .addContainerGap()
  316.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  317.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  318.                         .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 36, javax.swing.GroupLayout.PREFERRED_SIZE)
  319.                         .addComponent(jLabel1))
  320.                     .addComponent(jButton1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE))
  321.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  322.                     .addGroup(layout.createSequentialGroup()
  323.                         .addGap(8, 8, 8)
  324.                         .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  325.                             .addGroup(layout.createSequentialGroup()
  326.                                 .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE)
  327.                                 .addGap(10, 10, 10))
  328.                             .addGroup(layout.createSequentialGroup()
  329.                                 .addComponent(jComboBox1)
  330.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))))
  331.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  332.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  333.                         .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
  334.                         .addGap(6, 6, 6)))
  335.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  336.                     .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
  337.                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  338.                         .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
  339.                         .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 35, javax.swing.GroupLayout.PREFERRED_SIZE)))
  340.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  341.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 293, javax.swing.GroupLayout.PREFERRED_SIZE)
  342.                 .addContainerGap())
  343.         );
  344.  
  345.         pack();
  346.     }// </editor-fold>                        
  347.  
  348.     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  349.         // TODO add your handling code here:
  350.        
  351.         String namaLengkap = jComboBox1.getSelectedItem().toString();
  352.        
  353.         String namaPanggilan = jComboBox2.getSelectedItem().toString();
  354.        
  355.        
  356.         Connection koneksi = null;
  357.        
  358.         Statement stmt = null;
  359.        
  360.         PreparedStatement PSInsert = null;
  361.        
  362.         String query = "SELECT id,namalengkap,namapanggilan FROM vector1";
  363.        
  364.         String masukanData = "INSERT INTO vector1" + "(namalengkap,namapanggilan)VALUES" + "(?,?)";
  365.        
  366.         String url = "jdbc:postgresql://localhost:5432/pdam";
  367.        
  368.         String user = "steven";
  369.        
  370.         String password = "kucing";
  371.        
  372.        
  373.        
  374.         try{
  375.            
  376.            
  377.             koneksi = DriverManager.getConnection(url,user,password);
  378.            
  379.             PSInsert = koneksi.prepareStatement(masukanData);
  380.            
  381.             PSInsert.setString(1, namaLengkap);
  382.            
  383.             PSInsert.setString(2, namaPanggilan);
  384.            
  385.            
  386.             PSInsert.executeUpdate();
  387.            
  388.             stmt = koneksi.createStatement();
  389.            
  390.             ResultSet rs = stmt.executeQuery(query);
  391.            
  392.             ResultSetMetaData rsmd = rs.getMetaData();
  393.            
  394.            
  395.             Vector<Vector> coba2 = new Vector<Vector>();
  396.            
  397.             while(rs.next()){
  398.            
  399.             Vector<String> isiBaris = new Vector<String>();
  400.            
  401.             isiBaris.add(rs.getString("id"));
  402.            
  403.             isiBaris.add(rs.getString("namalengkap"));
  404.            
  405.             isiBaris.add(rs.getString("namapanggilan"));
  406.            
  407.             coba2.add(isiBaris);
  408.            
  409.            
  410.             Vector<String> namaKolom = new Vector<String>();
  411.            
  412.             namaKolom.addElement(rsmd.getColumnLabel(1));
  413.            
  414.             namaKolom.addElement(rsmd.getColumnLabel(2));
  415.            
  416.             namaKolom.addElement(rsmd.getColumnLabel(3));
  417.            
  418.            
  419.             DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  420.            
  421.             jTable1.setModel(tabel1);
  422.            
  423.            
  424.             koneksi.close();
  425.            
  426.            
  427.             jComboBox1.setSelectedIndex(0);
  428.            
  429.             jComboBox2.setSelectedIndex(0);
  430.            
  431.            
  432.         }
  433.        
  434.            
  435.         }catch (SQLException ex){
  436.            
  437.             ex.printStackTrace();
  438.            
  439.            
  440.         }
  441.        
  442.     }                                        
  443.  
  444.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  445.         // TODO add your handling code here:
  446.        
  447.        
  448.        
  449.         tampilPilihanTabel obj1 = new tampilPilihanTabel();
  450.        
  451.         obj1.tampilID();
  452.        
  453.         obj1.tampilNamaLengkap();
  454.        
  455.         obj1.tampilNamaPanggilan();
  456.        
  457.        
  458.     }                                        
  459.  
  460.     private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  461.         // TODO add your handling code here:
  462.        
  463.         String id = jTextField1.getText();
  464.        
  465.         Integer id2 = Integer.valueOf(id);
  466.        
  467.         String namaLengkap = jComboBox1.getSelectedItem().toString();
  468.        
  469.         String namaPanggilan = jComboBox2.getSelectedItem().toString();
  470.        
  471.        
  472.         Connection koneksi = null;
  473.        
  474.         Statement stmt = null;
  475.        
  476.         PreparedStatement PSUpdate = null;
  477.        
  478.        
  479.         String query = "SELECT id,namalengkap,namapanggilan FROM vector1";
  480.        
  481.         String updateData = "UPDATE vector1 SET namalengkap = ?, namapanggilan = ? WHERE id = ?";
  482.        
  483.         String url = "jdbc:postgresql://localhost:5432/pdam";
  484.        
  485.         String user = "steven";
  486.        
  487.         String password = "kucing";
  488.        
  489.         try{
  490.            
  491.             koneksi = DriverManager.getConnection(url,user,password);
  492.            
  493.             PSUpdate = koneksi.prepareStatement(updateData);
  494.            
  495.             PSUpdate.setString(1, namaLengkap);
  496.            
  497.             PSUpdate.setString(2, namaPanggilan);
  498.            
  499.             PSUpdate.setInt(3, id2);
  500.            
  501.            
  502.             PSUpdate.executeUpdate();
  503.            
  504.             stmt = koneksi.createStatement();
  505.            
  506.             ResultSet rs = stmt.executeQuery(query);
  507.            
  508.             ResultSetMetaData rsmd = rs.getMetaData();
  509.            
  510.            
  511.             Vector<Vector> coba2 = new Vector<Vector>();
  512.            
  513.             while(rs.next()){
  514.                
  515.             Vector<String> isiBaris = new Vector<String>();
  516.            
  517.             isiBaris.add(rs.getString("id"));
  518.            
  519.             isiBaris.add(rs.getString("namalengkap"));
  520.            
  521.             isiBaris.add(rs.getString("namapanggilan"));
  522.            
  523.             coba2.add(isiBaris);
  524.            
  525.            
  526.             Vector<String> namaKolom = new Vector<String>();
  527.            
  528.             namaKolom.addElement(rsmd.getColumnLabel(1));
  529.            
  530.             namaKolom.addElement(rsmd.getColumnLabel(2));
  531.            
  532.             namaKolom.addElement(rsmd.getColumnLabel(3));
  533.            
  534.             DefaultTableModel tabel1 = new DefaultTableModel(coba2,namaKolom);
  535.            
  536.            
  537.             jTable1.setModel(tabel1);
  538.            
  539.             koneksi.close();
  540.            
  541.            
  542.             jComboBox1.setSelectedIndex(0);
  543.            
  544.             jComboBox2.setSelectedIndex(0);
  545.            
  546.            
  547.             }
  548.            
  549.            
  550.         }catch (SQLException ex){
  551.            
  552.             ex.printStackTrace();
  553.            
  554.            
  555.            
  556.            
  557.            
  558.         }
  559.     }                                        
  560.  
  561.     /**
  562.      * @param args the command line arguments
  563.      */
  564.     public static void main(String args[]) {
  565.         /* Set the Nimbus look and feel */
  566.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  567.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  568.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  569.          */
  570.         try {
  571.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  572.                 if ("Nimbus".equals(info.getName())) {
  573.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  574.                     break;
  575.                 }
  576.             }
  577.         } catch (ClassNotFoundException ex) {
  578.             java.util.logging.Logger.getLogger(FrameJComboBox14.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  579.         } catch (InstantiationException ex) {
  580.             java.util.logging.Logger.getLogger(FrameJComboBox14.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  581.         } catch (IllegalAccessException ex) {
  582.             java.util.logging.Logger.getLogger(FrameJComboBox14.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  583.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  584.             java.util.logging.Logger.getLogger(FrameJComboBox14.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  585.         }
  586.         //</editor-fold>
  587.  
  588.         /* Create and display the form */
  589.         java.awt.EventQueue.invokeLater(new Runnable() {
  590.             public void run() {
  591.                 new FrameJComboBox14().setVisible(true);
  592.             }
  593.         });
  594.     }
  595.  
  596.     // Variables declaration - do not modify                    
  597.     private javax.swing.JButton jButton1;
  598.     private javax.swing.JButton jButton2;
  599.     private javax.swing.JButton jButton3;
  600.     private javax.swing.JComboBox jComboBox1;
  601.     private javax.swing.JComboBox jComboBox2;
  602.     private javax.swing.JLabel jLabel1;
  603.     private javax.swing.JLabel jLabel2;
  604.     private javax.swing.JLabel jLabel3;
  605.     private javax.swing.JScrollPane jScrollPane1;
  606.     private javax.swing.JTable jTable1;
  607.     private javax.swing.JTextField jTextField1;
  608.     // End of variables declaration                  
  609. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement