Mr-roz3r

Home.java

Jul 15th, 2021
484
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 51.79 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 aplikasi;
  7.  
  8. import database.Koneksi;
  9. import java.awt.event.ActionEvent;
  10. import java.awt.event.ActionListener;
  11. import java.awt.event.ItemListener;
  12. import java.awt.event.KeyListener;
  13. import javax.swing.JPanel;
  14. import java.sql.Connection;
  15. import java.sql.DriverManager;
  16. import java.sql.ResultSet;
  17. import java.sql.SQLException;
  18. import java.sql.Statement;
  19. import javax.swing.JOptionPane;
  20. import java.io.*;
  21. import java.net.*;
  22. import java.time.format.DateTimeFormatter;  
  23. import java.time.LocalDateTime;    
  24. import javax.swing.event.ChangeEvent;
  25. import javax.swing.event.ChangeListener;
  26. import javax.swing.table.DefaultTableModel;
  27.  
  28. /**
  29.  *
  30.  * @author Firmansyah Helmi Kurniawan, Rizki Wiguna, Inesya Adella, Frans Davidson Mangapul Nababan
  31.  */
  32.  
  33. class database extends javax.swing.JFrame{
  34.     Connection conn;
  35.     Statement stat;
  36.     ResultSet rs;
  37.     String sql;
  38.    
  39.     public void konek() {
  40.         Koneksi DB = new Koneksi();
  41.         DB.config();
  42.         conn = DB.conn;
  43.         stat = DB.stm;
  44.     }
  45. }
  46.  
  47. class saldo {
  48.    
  49.     public int getSaldo() {
  50.         return saldo;
  51.     }
  52.    
  53.     public void setSaldo(int saldo) {
  54.         this.saldo = saldo;
  55.     }
  56.    
  57.     private int saldo;
  58.    
  59.     public void kosong(String saldo_delete){
  60.         System.out.println("Clear Saldo");
  61.     }
  62. }
  63.  
  64. public class Home extends database{
  65.    
  66.     /**
  67.      * Creates new form Home
  68.      */
  69.     public Home() {
  70.         initComponents();
  71.         cb_buku.removeAllItems();
  72.         tampilDataDashboard();
  73.         tampilJumlahOrder();
  74.         tampilBuku();
  75.         tampilIp();
  76.         table_history();
  77.         table_topup();
  78.         kosong();
  79.         this.setLocationRelativeTo(null);
  80.        
  81.         konek();
  82.         spinner_jumlah.addChangeListener(new ChangeListener() {      
  83.         @Override
  84.             public void stateChanged(ChangeEvent e) {
  85.                 int buku = cb_buku.getSelectedIndex();
  86.                 buku += 1;
  87.                
  88.                 try {
  89.                     sql = "SELECT * from products WHERE id='"+buku+"'";
  90.                     rs = stat.executeQuery(sql);
  91.                     if(rs.next()) {
  92.                         long harga_buku = Integer.parseInt(rs.getString("harga"));
  93.                         long stok_buku = Integer.parseInt(rs.getString("stok"));
  94.                         long jumlah = (Integer) spinner_jumlah.getValue();
  95.                         if (stok_buku < jumlah) {
  96.                             JOptionPane.showMessageDialog(null, "Stok buku kurang!");
  97.                             spinner_jumlah.setValue(Integer.parseInt(rs.getString("stok")));
  98.                             long jumlah_baru = (Integer) spinner_jumlah.getValue();
  99.                             long hasil = jumlah_baru * harga_buku;
  100.                             tf_totalPembayaranOrder.setText(String.valueOf(hasil));
  101.                         } else if(jumlah < 0) {
  102.                             JOptionPane.showMessageDialog(null, "Jumlah tidak boleh kurang dari 1!");
  103.                             spinner_jumlah.setValue(1);
  104.                             long jumlah_baru = (Integer) spinner_jumlah.getValue();
  105.                             long hasil = jumlah_baru * harga_buku;
  106.                         }else {
  107.                             long hasil = jumlah * harga_buku;
  108.                             tf_totalPembayaranOrder.setText(String.valueOf(hasil));
  109.                         }
  110.                     }
  111.                 } catch (Exception f) {
  112.                         JOptionPane.showMessageDialog(null, "ERROR" + f.getMessage());
  113.                 }
  114.             }
  115.         });
  116.        
  117.         cb_buku.addActionListener (new ActionListener () {
  118.             public void actionPerformed(ActionEvent e) {
  119.                 int buku = cb_buku.getSelectedIndex();
  120.                 buku += 1;
  121.                
  122.                 try {
  123.                     sql = "SELECT * from products WHERE id='"+buku+"'";
  124.                     rs = stat.executeQuery(sql);
  125.                     if(rs.next()) {
  126.                         long harga_buku = Integer.parseInt(rs.getString("harga"));
  127.                         long jumlah = (Integer) spinner_jumlah.getValue();
  128.                         long hasil = jumlah * harga_buku;
  129.                         tf_totalPembayaranOrder.setText(String.valueOf(hasil));
  130.                     }
  131.                 } catch (Exception f) {
  132.                         JOptionPane.showMessageDialog(null, "ERROR" + f.getMessage());
  133.                     }
  134.             }
  135.         });
  136.        
  137.         btn_beliOrder.addActionListener(new ActionListener() {
  138.             @Override
  139.             public void actionPerformed(ActionEvent e) {
  140.                 String nama = tf_namaOrder.getText();
  141.                 int buku = cb_buku.getSelectedIndex();
  142.                 buku += 1;
  143.                 long jumlah = (Integer) spinner_jumlah.getValue();
  144.                
  145.                 String total_pembayaran = tf_totalPembayaranOrder.getText();
  146.                 rb_pembayaranOrder1.setActionCommand("saldo");
  147.                 rb_pembayaranOrder2.setActionCommand("tunai");
  148.                 String pembayaran = buttonGroup1.getSelection().getActionCommand();
  149.  
  150.                 DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");  
  151.                 LocalDateTime now = LocalDateTime.now();
  152.  
  153.                 try {
  154.  
  155.                     if (pembayaran == "saldo") {
  156.                         sql = "SELECT * from users WHERE username='"+Login.getUser_id()+"'";
  157.                         rs = stat.executeQuery(sql);
  158.                         rs.next();
  159.                         long saldo_awal = Integer.parseInt(rs.getString("saldo"));
  160.                         long total_bayar = Integer.parseInt(total_pembayaran);
  161.                         long saldo_akhir = saldo_awal - total_bayar;
  162.                        
  163.                         if (saldo_awal < total_bayar) {
  164.                             JOptionPane.showMessageDialog(null, "Saldo anda kurang bos!");
  165.                         } else {
  166.                             sql = "UPDATE `users` SET `saldo` = "+saldo_akhir+" WHERE `users`.`username` = '"+Login.getUser_id()+"'";
  167.                             stat.executeUpdate(sql);
  168.                             lbl_saldo.setText("Rp" + String.valueOf(saldo_akhir));
  169.                            
  170.                             sql = "UPDATE `products` SET `stok` = stok - "+jumlah+" WHERE `id` = "+buku+"";
  171.                             stat.executeUpdate(sql);
  172.                            
  173.                             sql = "INSERT INTO history (`nama`, `user_id`, `buku_id`, `jumlah`, `total_pembayaran`, `pembayaran`, `tanggal`) VALUES ('"+nama+"', '"+Login.getUser_id()+"', "+buku+", '"+jumlah+"', '"+total_pembayaran+"', '"+pembayaran+"', '"+dtf.format(now)+"')";
  174.                             int execute = stat.executeUpdate(sql);
  175.                             JOptionPane.showMessageDialog(null, "Sukses Order!");
  176.                         }
  177.                     } else {
  178.                         sql = "INSERT INTO history (`nama`, `user_id`, `buku_id`, `jumlah`, `total_pembayaran`, `pembayaran`, `tanggal`) VALUES ('"+nama+"', '"+Login.getUser_id()+"', "+buku+", '"+jumlah+"', '"+total_pembayaran+"', '"+pembayaran+"', '"+dtf.format(now)+"')";
  179.                         int execute = stat.executeUpdate(sql);
  180.                         JOptionPane.showMessageDialog(null, "Sukses Order!");
  181.                     }
  182.  
  183.                 } catch (Exception f) {
  184.                     JOptionPane.showMessageDialog(null, f.getMessage());
  185.                 }
  186.  
  187.                 table_history();
  188.                 tampilJumlahOrder();
  189.                 tampilBuku();
  190.                 kosong();
  191.             }
  192.         });
  193.        
  194.         btn_addTopup.addActionListener(new ActionListener() {
  195.             @Override
  196.             public void actionPerformed(ActionEvent e) {
  197.                
  198.                 if (tf_topup.getText().equals("")) {
  199.                     JOptionPane.showMessageDialog(null, "Anda belum memasukkan jumlah saldo");
  200.                 } else {
  201.                
  202.                 konek();
  203.                 saldo saldox = new saldo();
  204.                 saldox.setSaldo(Integer.valueOf(tf_topup.getText()));
  205.                
  206.                 try {
  207.                     sql = "SELECT * from users WHERE username='"+Login.getUser_id()+"'";
  208.                     rs = stat.executeQuery(sql);
  209.                     if(rs.next()) {
  210.                         long saldo_awal = Integer.parseInt(rs.getString("saldo"));
  211. //                        long saldo = Integer.parseInt(tf_topup.getText());
  212.                         long saldo = saldox.getSaldo();
  213.  
  214.                         long saldo_akhir = saldo + saldo_awal;
  215.  
  216.                         sql= "UPDATE `users` SET `saldo` = '"+saldo_akhir+"' WHERE `users`.`username` = '"+Login.getUser_id()+"'";
  217.                         int execute = stat.executeUpdate(sql);
  218.                         JOptionPane.showMessageDialog(null, "Top Up Sukses sebesar Rp" + saldo);
  219.                        
  220.                         DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");  
  221.                         LocalDateTime   now = LocalDateTime.now();
  222.                        
  223.                         sql = "INSERT INTO topup (`user_id`, `jumlah`, `status`, `tanggal`) VALUES ('"+Login.getUser_id()+"', '"+saldo+"', 'sukses', '"+dtf.format(now)+"')";
  224.                         int execute_saldo = stat.executeUpdate(sql);
  225.                        
  226.                         lbl_saldo.setText("Rp" + String.valueOf(saldo_akhir));
  227.                         kosong("clear");
  228.                     }
  229.                 } catch (Exception f) {
  230.                     JOptionPane.showMessageDialog(null, f.getMessage());
  231.                 }
  232.                     table_topup();
  233.                 }
  234.             }
  235.         });
  236.     }
  237.    
  238.     public void tampilBuku() {
  239.         konek();
  240.         try {
  241.             sql = "SELECT * from products";
  242.             rs = stat.executeQuery(sql);
  243.             while(rs.next()) {
  244.                 cb_buku.addItem(rs.getString(2) + "-" + rs.getString(3) + " (" + rs.getString(4) + ")");
  245.             }
  246.         } catch (Exception e) {
  247.             JOptionPane.showMessageDialog(null, "ERROR" + e.getMessage());
  248.         }
  249.     }
  250.    
  251.     public void tampilIp() {
  252.         URL url = null;
  253.         BufferedReader in = null;
  254.         String ipAddress = "";
  255.         try {
  256.             url = new URL("http://bot.whatismyipaddress.com");
  257.             in = new BufferedReader(new InputStreamReader(url.openStream()));
  258.             ipAddress = in.readLine().trim();
  259.             if (!(ipAddress.length() > 0)) {
  260.                 try {
  261.                     InetAddress ip = InetAddress.getLocalHost();
  262.                     System.out.println((ip.getHostAddress()).trim());
  263.                     ipAddress = (ip.getHostAddress()).trim();
  264.                 } catch(Exception exp) {
  265.                     ipAddress = "ERROR";
  266.                 }
  267.             }
  268.         } catch (Exception ex) {
  269.             // This try will give the Private IP of the Host.
  270.             try {
  271.                 InetAddress ip = InetAddress.getLocalHost();
  272.                 System.out.println((ip.getHostAddress()).trim());
  273.                 ipAddress = (ip.getHostAddress()).trim();
  274.             } catch(Exception exp) {
  275.                 ipAddress = "ERROR";
  276.             }
  277.             //ex.printStackTrace();
  278.         }
  279.         lbl_ip.setText(ipAddress);
  280.     }
  281.    
  282.     public void tampilDataDashboard() {
  283.         konek();
  284.         try {
  285.             sql = "SELECT * from users WHERE username='"+Login.getUser_id()+"'";
  286.             rs = stat.executeQuery(sql);
  287.             if(rs.next()) {
  288.                 lbl_username.setText(rs.getString("name"));
  289.                 lbl_saldo.setText("Rp" + rs.getString("saldo"));
  290.             }
  291.         } catch (Exception e) {
  292.             JOptionPane.showMessageDialog(null, "ERROR" + e.getMessage());
  293.         }
  294.     }
  295.    
  296.     public void tampilJumlahOrder() {
  297.         try {
  298.             sql = "SELECT COUNT(*) AS total FROM history WHERE user_id='"+Login.getUser_id()+"'";
  299.             rs = stat.executeQuery(sql);
  300.             while(rs.next()){
  301.                 int count = rs.getInt("total");
  302.                 lbl_jumlahOrder.setText(String.valueOf(count));
  303.             }
  304.         } catch (Exception e) {
  305.             JOptionPane.showMessageDialog(null, e.getMessage());
  306.         }
  307.     }
  308.    
  309.     public void table_history() {
  310.         konek();
  311.        
  312.         DefaultTableModel model = new DefaultTableModel();
  313. //        DefaultTableModel model = (DefaultTableModel) table_history.getModel();
  314.         model.addColumn("No");
  315.         model.addColumn("Nama");
  316.         model.addColumn("Jumlah");
  317.         model.addColumn("Total Harga");
  318.         model.addColumn("Metode");
  319.         model.addColumn("Tanggal");
  320.        
  321.         try {
  322.             int no = 1;
  323.             sql = "SELECT * from history WHERE user_id='"+Login.getUser_id()+"'";
  324.             rs = stat.executeQuery(sql);
  325.             while(rs.next()){
  326.                 model.addRow(new Object[]{no++,rs.getString(2),rs.getString(5),rs.getString(6),rs.getString(7),rs.getString(8)});
  327.             }
  328.             table_history.setModel(model);
  329.         } catch (Exception e) {
  330. //            JOptionPane.showMessageDialog(null, "ERROR" + e.getMessage());
  331.         }
  332.     }
  333.    
  334.     public void kosong(){
  335.         tf_namaOrder.setText("");
  336.         cb_buku.setSelectedIndex(0);
  337.         spinner_jumlah.setValue(0);
  338.         tf_totalPembayaranOrder.setText("");
  339.         rb_pembayaranOrder1.setSelected(false);
  340.         rb_pembayaranOrder2.setSelected(false);
  341.         tf_namaOrder.requestFocus();
  342.     }
  343.    
  344.     public void kosong(String saldo_delete) {
  345.         Home.tf_topup.setText("");
  346.         tf_topup.requestFocus();
  347.     }
  348.    
  349.     public void table_topup() {
  350.         konek();
  351.        
  352.         DefaultTableModel model = new DefaultTableModel();
  353.         model.addColumn("No");
  354.         model.addColumn("Jumlah");
  355.         model.addColumn("Status");
  356.         model.addColumn("Tanggal");
  357.        
  358.         try {
  359.             int no = 1;
  360.             sql = "SELECT * from topup WHERE user_id='"+Login.getUser_id()+"'";
  361.             rs = stat.executeQuery(sql);
  362.             while(rs.next()){
  363.                 model.addRow(new Object[]{no++,rs.getString(3),rs.getString(4),rs.getString(5)});
  364.             }
  365.             table_topup.setModel(model);
  366.         } catch (Exception e) {
  367.         }
  368.     }
  369.  
  370.     /**
  371.      * This method is called from within the constructor to initialize the form.
  372.      * WARNING: Do NOT modify this code. The content of this method is always
  373.      * regenerated by the Form Editor.
  374.      */
  375.     @SuppressWarnings("unchecked")
  376.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  377.     private void initComponents() {
  378.  
  379.         buttonGroup1 = new javax.swing.ButtonGroup();
  380.         panel_sidebar = new javax.swing.JPanel();
  381.         btn_logout = new javax.swing.JButton();
  382.         btn_home = new javax.swing.JButton();
  383.         btn_order = new javax.swing.JButton();
  384.         btn_information = new javax.swing.JButton();
  385.         btn_topup = new javax.swing.JButton();
  386.         panel_header = new javax.swing.JPanel();
  387.         lbl_saldo = new javax.swing.JLabel();
  388.         lbl_username = new javax.swing.JLabel();
  389.         lbl_logo = new javax.swing.JLabel();
  390.         panel_main = new javax.swing.JPanel();
  391.         panel_home = new javax.swing.JPanel();
  392.         jPanel1 = new javax.swing.JPanel();
  393.         jLabel1 = new javax.swing.JLabel();
  394.         lbl_ip = new javax.swing.JLabel();
  395.         jPanel2 = new javax.swing.JPanel();
  396.         jLabel3 = new javax.swing.JLabel();
  397.         lbl_jumlahOrder = new javax.swing.JLabel();
  398.         panel_order = new javax.swing.JPanel();
  399.         lbl_judulOrder = new javax.swing.JLabel();
  400.         lbl_namaOrder = new javax.swing.JLabel();
  401.         lbl_bukuOrder = new javax.swing.JLabel();
  402.         lbl_totalOrder = new javax.swing.JLabel();
  403.         lbl_pembayaranOrder = new javax.swing.JLabel();
  404.         tf_namaOrder = new javax.swing.JTextField();
  405.         rb_pembayaranOrder1 = new javax.swing.JRadioButton();
  406.         rb_pembayaranOrder2 = new javax.swing.JRadioButton();
  407.         btn_beliOrder = new javax.swing.JButton();
  408.         jButton2 = new javax.swing.JButton();
  409.         spinner_jumlah = new javax.swing.JSpinner();
  410.         tf_totalPembayaranOrder = new javax.swing.JTextField();
  411.         jLabel6 = new javax.swing.JLabel();
  412.         cb_buku = new javax.swing.JComboBox<>();
  413.         panel_history = new javax.swing.JPanel();
  414.         jLabel4 = new javax.swing.JLabel();
  415.         jScrollPane2 = new javax.swing.JScrollPane();
  416.         table_history = new javax.swing.JTable();
  417.         jScrollPane1 = new javax.swing.JScrollPane();
  418.         jTextArea1 = new javax.swing.JTextArea();
  419.         panel_topup = new javax.swing.JPanel();
  420.         jLabel7 = new javax.swing.JLabel();
  421.         tf_topup = new placeholder.Saldo();
  422.         jLabel8 = new javax.swing.JLabel();
  423.         btn_addTopup = new javax.swing.JButton();
  424.         jScrollPane3 = new javax.swing.JScrollPane();
  425.         table_topup = new javax.swing.JTable();
  426.  
  427.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  428.         setTitle("BUKU BOS!!!");
  429.         setResizable(false);
  430.         getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  431.  
  432.         panel_sidebar.setBackground(new java.awt.Color(113, 201, 206));
  433.         panel_sidebar.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  434.  
  435.         btn_logout.setBackground(new java.awt.Color(166, 227, 233));
  436.         btn_logout.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  437.         btn_logout.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/exit_48px.png"))); // NOI18N
  438.         btn_logout.setText("Logout");
  439.         btn_logout.setAutoscrolls(true);
  440.         btn_logout.setBorder(null);
  441.         btn_logout.setBorderPainted(false);
  442.         btn_logout.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  443.         btn_logout.addActionListener(new java.awt.event.ActionListener() {
  444.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  445.                 btn_logoutActionPerformed(evt);
  446.             }
  447.         });
  448.         panel_sidebar.add(btn_logout, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 330, 170, 60));
  449.  
  450.         btn_home.setBackground(new java.awt.Color(166, 227, 233));
  451.         btn_home.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  452.         btn_home.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/home_page_48px.png"))); // NOI18N
  453.         btn_home.setText("Home");
  454.         btn_home.setAutoscrolls(true);
  455.         btn_home.setBorder(null);
  456.         btn_home.setBorderPainted(false);
  457.         btn_home.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  458.         btn_home.setMaximumSize(new java.awt.Dimension(111, 61));
  459.         btn_home.setMinimumSize(new java.awt.Dimension(111, 61));
  460.         btn_home.setPreferredSize(new java.awt.Dimension(111, 61));
  461.         btn_home.addActionListener(new java.awt.event.ActionListener() {
  462.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  463.                 btn_homeActionPerformed(evt);
  464.             }
  465.         });
  466.         panel_sidebar.add(btn_home, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 20, 170, 60));
  467.  
  468.         btn_order.setBackground(new java.awt.Color(166, 227, 233));
  469.         btn_order.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  470.         btn_order.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/create_order_48px.png"))); // NOI18N
  471.         btn_order.setText("Order");
  472.         btn_order.setAutoscrolls(true);
  473.         btn_order.setBorder(null);
  474.         btn_order.setBorderPainted(false);
  475.         btn_order.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  476.         btn_order.addActionListener(new java.awt.event.ActionListener() {
  477.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  478.                 btn_orderActionPerformed(evt);
  479.             }
  480.         });
  481.         panel_sidebar.add(btn_order, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 90, 170, 60));
  482.  
  483.         btn_information.setBackground(new java.awt.Color(166, 227, 233));
  484.         btn_information.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  485.         btn_information.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/information_48px.png"))); // NOI18N
  486.         btn_information.setText("History");
  487.         btn_information.setAutoscrolls(true);
  488.         btn_information.setBorder(null);
  489.         btn_information.setBorderPainted(false);
  490.         btn_information.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  491.         btn_information.addActionListener(new java.awt.event.ActionListener() {
  492.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  493.                 btn_informationActionPerformed(evt);
  494.             }
  495.         });
  496.         panel_sidebar.add(btn_information, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 160, 170, 60));
  497.  
  498.         btn_topup.setBackground(new java.awt.Color(166, 227, 233));
  499.         btn_topup.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  500.         btn_topup.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/wallet_48px.png"))); // NOI18N
  501.         btn_topup.setText("Top Up");
  502.         btn_topup.setAutoscrolls(true);
  503.         btn_topup.setBorder(null);
  504.         btn_topup.setBorderPainted(false);
  505.         btn_topup.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
  506.         btn_topup.addActionListener(new java.awt.event.ActionListener() {
  507.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  508.                 btn_topupActionPerformed(evt);
  509.             }
  510.         });
  511.         panel_sidebar.add(btn_topup, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 230, 170, 60));
  512.  
  513.         getContentPane().add(panel_sidebar, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 80, 200, 410));
  514.  
  515.         panel_header.setBackground(new java.awt.Color(113, 201, 206));
  516.         panel_header.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  517.  
  518.         lbl_saldo.setFont(new java.awt.Font("Segoe UI Historic", 1, 24)); // NOI18N
  519.         lbl_saldo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/money_48px.png"))); // NOI18N
  520.         lbl_saldo.setText("Rp50.000");
  521.         panel_header.add(lbl_saldo, new org.netbeans.lib.awtextra.AbsoluteConstraints(520, 10, -1, -1));
  522.  
  523.         lbl_username.setFont(new java.awt.Font("Segoe UI Historic", 1, 24)); // NOI18N
  524.         lbl_username.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/username_48px.png"))); // NOI18N
  525.         lbl_username.setText("ADMIN");
  526.         panel_header.add(lbl_username, new org.netbeans.lib.awtextra.AbsoluteConstraints(690, 10, -1, -1));
  527.  
  528.         lbl_logo.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  529.         lbl_logo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/book_52px.png"))); // NOI18N
  530.         lbl_logo.setText("BUKU BOS!!!");
  531.         panel_header.add(lbl_logo, new org.netbeans.lib.awtextra.AbsoluteConstraints(20, 20, -1, -1));
  532.  
  533.         getContentPane().add(panel_header, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 920, 80));
  534.  
  535.         panel_main.setLayout(new java.awt.CardLayout());
  536.  
  537.         panel_home.setBackground(new java.awt.Color(203, 241, 245));
  538.  
  539.         jPanel1.setBackground(new java.awt.Color(166, 227, 233));
  540.  
  541.         jLabel1.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  542.         jLabel1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/web_address_60px.png"))); // NOI18N
  543.         jLabel1.setText("IP Address");
  544.  
  545.         lbl_ip.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  546.         lbl_ip.setText("192.168.1.1");
  547.  
  548.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  549.         jPanel1.setLayout(jPanel1Layout);
  550.         jPanel1Layout.setHorizontalGroup(
  551.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  552.             .addGroup(jPanel1Layout.createSequentialGroup()
  553.                 .addGap(42, 42, 42)
  554.                 .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 186, javax.swing.GroupLayout.PREFERRED_SIZE))
  555.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  556.                 .addContainerGap()
  557.                 .addComponent(lbl_ip)
  558.                 .addGap(62, 62, 62))
  559.         );
  560.         jPanel1Layout.setVerticalGroup(
  561.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  562.             .addGroup(jPanel1Layout.createSequentialGroup()
  563.                 .addContainerGap()
  564.                 .addComponent(jLabel1)
  565.                 .addGap(18, 18, 18)
  566.                 .addComponent(lbl_ip)
  567.                 .addContainerGap(50, Short.MAX_VALUE))
  568.         );
  569.  
  570.         jPanel2.setBackground(new java.awt.Color(166, 227, 233));
  571.  
  572.         jLabel3.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  573.         jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/total_sales_48px.png"))); // NOI18N
  574.         jLabel3.setText("Total Order");
  575.  
  576.         lbl_jumlahOrder.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  577.         lbl_jumlahOrder.setText("500");
  578.  
  579.         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  580.         jPanel2.setLayout(jPanel2Layout);
  581.         jPanel2Layout.setHorizontalGroup(
  582.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  583.             .addGroup(jPanel2Layout.createSequentialGroup()
  584.                 .addContainerGap(45, Short.MAX_VALUE)
  585.                 .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  586.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  587.                         .addComponent(jLabel3)
  588.                         .addGap(40, 40, 40))
  589.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
  590.                         .addComponent(lbl_jumlahOrder)
  591.                         .addGap(92, 92, 92))))
  592.         );
  593.         jPanel2Layout.setVerticalGroup(
  594.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  595.             .addGroup(jPanel2Layout.createSequentialGroup()
  596.                 .addGap(22, 22, 22)
  597.                 .addComponent(jLabel3)
  598.                 .addGap(18, 18, 18)
  599.                 .addComponent(lbl_jumlahOrder)
  600.                 .addContainerGap(51, Short.MAX_VALUE))
  601.         );
  602.  
  603.         javax.swing.GroupLayout panel_homeLayout = new javax.swing.GroupLayout(panel_home);
  604.         panel_home.setLayout(panel_homeLayout);
  605.         panel_homeLayout.setHorizontalGroup(
  606.             panel_homeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  607.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panel_homeLayout.createSequentialGroup()
  608.                 .addContainerGap(121, Short.MAX_VALUE)
  609.                 .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  610.                 .addGap(58, 58, 58)
  611.                 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  612.                 .addGap(86, 86, 86))
  613.         );
  614.         panel_homeLayout.setVerticalGroup(
  615.             panel_homeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  616.             .addGroup(panel_homeLayout.createSequentialGroup()
  617.                 .addGap(49, 49, 49)
  618.                 .addGroup(panel_homeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  619.                     .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  620.                     .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  621.                 .addContainerGap(197, Short.MAX_VALUE))
  622.         );
  623.  
  624.         panel_main.add(panel_home, "card2");
  625.  
  626.         panel_order.setBackground(new java.awt.Color(203, 241, 245));
  627.  
  628.         lbl_judulOrder.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  629.         lbl_judulOrder.setText("Pemesanan Buku");
  630.  
  631.         lbl_namaOrder.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  632.         lbl_namaOrder.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/name_48px.png"))); // NOI18N
  633.         lbl_namaOrder.setText("Nama");
  634.  
  635.         lbl_bukuOrder.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  636.         lbl_bukuOrder.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/book_and_pencil_48px.png"))); // NOI18N
  637.         lbl_bukuOrder.setText("Buku");
  638.  
  639.         lbl_totalOrder.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  640.         lbl_totalOrder.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/plus_48px.png"))); // NOI18N
  641.         lbl_totalOrder.setText("Jumlah");
  642.  
  643.         lbl_pembayaranOrder.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  644.         lbl_pembayaranOrder.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/online_payment_48px.png"))); // NOI18N
  645.         lbl_pembayaranOrder.setText("Pembayaran");
  646.  
  647.         tf_namaOrder.setBackground(new java.awt.Color(227, 253, 253));
  648.         tf_namaOrder.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
  649.  
  650.         buttonGroup1.add(rb_pembayaranOrder1);
  651.         rb_pembayaranOrder1.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  652.         rb_pembayaranOrder1.setText("Saldo");
  653.  
  654.         buttonGroup1.add(rb_pembayaranOrder2);
  655.         rb_pembayaranOrder2.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  656.         rb_pembayaranOrder2.setText("Tunai");
  657.  
  658.         btn_beliOrder.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  659.         btn_beliOrder.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/checkout_48px.png"))); // NOI18N
  660.         btn_beliOrder.addActionListener(new java.awt.event.ActionListener() {
  661.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  662.                 btn_beliOrderActionPerformed(evt);
  663.             }
  664.         });
  665.  
  666.         jButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/reset_48px.png"))); // NOI18N
  667.         jButton2.addActionListener(new java.awt.event.ActionListener() {
  668.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  669.                 jButton2ActionPerformed(evt);
  670.             }
  671.         });
  672.  
  673.         spinner_jumlah.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  674.         spinner_jumlah.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
  675.  
  676.         tf_totalPembayaranOrder.setEditable(false);
  677.         tf_totalPembayaranOrder.setBackground(new java.awt.Color(227, 253, 253));
  678.         tf_totalPembayaranOrder.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  679.  
  680.         jLabel6.setFont(new java.awt.Font("Segoe UI Historic", 0, 18)); // NOI18N
  681.         jLabel6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/money_48px.png"))); // NOI18N
  682.         jLabel6.setText("Total Pembayaran");
  683.  
  684.         cb_buku.setBackground(new java.awt.Color(227, 253, 253));
  685.         cb_buku.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  686.         cb_buku.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
  687.  
  688.         javax.swing.GroupLayout panel_orderLayout = new javax.swing.GroupLayout(panel_order);
  689.         panel_order.setLayout(panel_orderLayout);
  690.         panel_orderLayout.setHorizontalGroup(
  691.             panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  692.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panel_orderLayout.createSequentialGroup()
  693.                 .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  694.                     .addGroup(panel_orderLayout.createSequentialGroup()
  695.                         .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  696.                         .addComponent(lbl_judulOrder)
  697.                         .addGap(48, 48, 48))
  698.                     .addGroup(panel_orderLayout.createSequentialGroup()
  699.                         .addGap(58, 58, 58)
  700.                         .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  701.                             .addComponent(lbl_pembayaranOrder)
  702.                             .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  703.                                 .addComponent(lbl_namaOrder, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  704.                                 .addComponent(lbl_bukuOrder, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  705.                                 .addComponent(lbl_totalOrder, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  706.                                 .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
  707.                         .addGap(43, 43, 43)
  708.                         .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  709.                             .addComponent(tf_namaOrder)
  710.                             .addComponent(spinner_jumlah)
  711.                             .addComponent(tf_totalPembayaranOrder)
  712.                             .addGroup(panel_orderLayout.createSequentialGroup()
  713.                                 .addComponent(rb_pembayaranOrder1)
  714.                                 .addGap(18, 18, 18)
  715.                                 .addComponent(rb_pembayaranOrder2)
  716.                                 .addGap(0, 60, Short.MAX_VALUE))
  717.                             .addComponent(cb_buku, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
  718.                 .addGap(84, 84, 84)
  719.                 .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  720.                     .addComponent(btn_beliOrder, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
  721.                     .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE))
  722.                 .addGap(60, 60, 60))
  723.         );
  724.         panel_orderLayout.setVerticalGroup(
  725.             panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  726.             .addGroup(panel_orderLayout.createSequentialGroup()
  727.                 .addContainerGap()
  728.                 .addComponent(lbl_judulOrder)
  729.                 .addGap(14, 14, 14)
  730.                 .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  731.                     .addComponent(lbl_namaOrder)
  732.                     .addComponent(tf_namaOrder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  733.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  734.                 .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  735.                     .addGroup(panel_orderLayout.createSequentialGroup()
  736.                         .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  737.                             .addComponent(lbl_bukuOrder)
  738.                             .addComponent(cb_buku, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  739.                         .addGap(17, 17, 17)
  740.                         .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  741.                             .addComponent(lbl_totalOrder)
  742.                             .addComponent(spinner_jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  743.                         .addGap(18, 18, 18)
  744.                         .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  745.                             .addComponent(jLabel6)
  746.                             .addComponent(tf_totalPembayaranOrder, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  747.                     .addGroup(panel_orderLayout.createSequentialGroup()
  748.                         .addComponent(btn_beliOrder)
  749.                         .addGap(33, 33, 33)
  750.                         .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)))
  751.                 .addGap(21, 21, 21)
  752.                 .addGroup(panel_orderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  753.                     .addComponent(rb_pembayaranOrder1)
  754.                     .addComponent(rb_pembayaranOrder2)
  755.                     .addComponent(lbl_pembayaranOrder))
  756.                 .addContainerGap(53, Short.MAX_VALUE))
  757.         );
  758.  
  759.         panel_main.add(panel_order, "card3");
  760.  
  761.         panel_history.setBackground(new java.awt.Color(203, 241, 245));
  762.  
  763.         jLabel4.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  764.         jLabel4.setText("Informasi");
  765.  
  766.         table_history.setBackground(new java.awt.Color(227, 253, 253));
  767.         table_history.setModel(new javax.swing.table.DefaultTableModel(
  768.             new Object [][] {
  769.                 {null, null, null, null, null, null},
  770.                 {null, null, null, null, null, null},
  771.                 {null, null, null, null, null, null},
  772.                 {null, null, null, null, null, null}
  773.             },
  774.             new String [] {
  775.                 "No", "Nama", "Jumlah", "Total", "Metode", "Tanggal"
  776.             }
  777.         ));
  778.         table_history.setEnabled(false);
  779.         jScrollPane2.setViewportView(table_history);
  780.         if (table_history.getColumnModel().getColumnCount() > 0) {
  781.             table_history.getColumnModel().getColumn(0).setMinWidth(35);
  782.             table_history.getColumnModel().getColumn(0).setMaxWidth(35);
  783.             table_history.getColumnModel().getColumn(1).setMinWidth(170);
  784.             table_history.getColumnModel().getColumn(1).setMaxWidth(170);
  785.             table_history.getColumnModel().getColumn(2).setMinWidth(150);
  786.             table_history.getColumnModel().getColumn(2).setMaxWidth(150);
  787.             table_history.getColumnModel().getColumn(3).setMinWidth(120);
  788.             table_history.getColumnModel().getColumn(3).setMaxWidth(120);
  789.             table_history.getColumnModel().getColumn(4).setMinWidth(120);
  790.             table_history.getColumnModel().getColumn(4).setMaxWidth(120);
  791.             table_history.getColumnModel().getColumn(5).setMinWidth(120);
  792.             table_history.getColumnModel().getColumn(5).setMaxWidth(120);
  793.         }
  794.  
  795.         jTextArea1.setEditable(false);
  796.         jTextArea1.setBackground(new java.awt.Color(227, 253, 253));
  797.         jTextArea1.setColumns(20);
  798.         jTextArea1.setRows(5);
  799.         jTextArea1.setText("Halo sobat BUKU BOS!!!\nAda buku baru nih bos!\n- Rizki Berpetualang\n- Belajar OOP\n- Belajar Java");
  800.         jScrollPane1.setViewportView(jTextArea1);
  801.  
  802.         javax.swing.GroupLayout panel_historyLayout = new javax.swing.GroupLayout(panel_history);
  803.         panel_history.setLayout(panel_historyLayout);
  804.         panel_historyLayout.setHorizontalGroup(
  805.             panel_historyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  806.             .addGroup(panel_historyLayout.createSequentialGroup()
  807.                 .addGroup(panel_historyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  808.                     .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 710, Short.MAX_VALUE)
  809.                     .addGroup(panel_historyLayout.createSequentialGroup()
  810.                         .addGap(334, 334, 334)
  811.                         .addComponent(jLabel4)
  812.                         .addGap(0, 0, Short.MAX_VALUE))
  813.                     .addComponent(jScrollPane1))
  814.                 .addContainerGap())
  815.         );
  816.         panel_historyLayout.setVerticalGroup(
  817.             panel_historyLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  818.             .addGroup(panel_historyLayout.createSequentialGroup()
  819.                 .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE)
  820.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  821.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  822.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  823.                 .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 247, Short.MAX_VALUE))
  824.         );
  825.  
  826.         panel_main.add(panel_history, "card4");
  827.  
  828.         panel_topup.setBackground(new java.awt.Color(203, 241, 245));
  829.  
  830.         jLabel7.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  831.         jLabel7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/money_48px.png"))); // NOI18N
  832.         jLabel7.setToolTipText("");
  833.  
  834.         tf_topup.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  835.         tf_topup.setToolTipText("");
  836.  
  837.         jLabel8.setFont(new java.awt.Font("Segoe UI Historic", 1, 18)); // NOI18N
  838.         jLabel8.setText("Top Up BookPay");
  839.  
  840.         btn_addTopup.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/plus_48px.png"))); // NOI18N
  841.  
  842.         table_topup.setModel(new javax.swing.table.DefaultTableModel(
  843.             new Object [][] {
  844.                 {null, null, null, null},
  845.                 {null, null, null, null},
  846.                 {null, null, null, null},
  847.                 {null, null, null, null}
  848.             },
  849.             new String [] {
  850.                 "No", "Nominal", "Status", "Tanggal"
  851.             }
  852.         ));
  853.         jScrollPane3.setViewportView(table_topup);
  854.  
  855.         javax.swing.GroupLayout panel_topupLayout = new javax.swing.GroupLayout(panel_topup);
  856.         panel_topup.setLayout(panel_topupLayout);
  857.         panel_topupLayout.setHorizontalGroup(
  858.             panel_topupLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  859.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panel_topupLayout.createSequentialGroup()
  860.                 .addContainerGap(304, Short.MAX_VALUE)
  861.                 .addComponent(jLabel8, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)
  862.                 .addGap(267, 267, 267))
  863.             .addGroup(panel_topupLayout.createSequentialGroup()
  864.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  865.                 .addGroup(panel_topupLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  866.                     .addComponent(btn_addTopup, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
  867.                     .addGroup(panel_topupLayout.createSequentialGroup()
  868.                         .addComponent(jLabel7)
  869.                         .addGap(18, 18, 18)
  870.                         .addComponent(tf_topup, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)))
  871.                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  872.             .addGroup(panel_topupLayout.createSequentialGroup()
  873.                 .addComponent(jScrollPane3)
  874.                 .addContainerGap())
  875.         );
  876.         panel_topupLayout.setVerticalGroup(
  877.             panel_topupLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  878.             .addGroup(panel_topupLayout.createSequentialGroup()
  879.                 .addGap(28, 28, 28)
  880.                 .addComponent(jLabel8)
  881.                 .addGap(36, 36, 36)
  882.                 .addGroup(panel_topupLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  883.                     .addComponent(jLabel7)
  884.                     .addComponent(tf_topup, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  885.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  886.                 .addComponent(btn_addTopup, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
  887.                 .addGap(18, 18, Short.MAX_VALUE)
  888.                 .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 206, javax.swing.GroupLayout.PREFERRED_SIZE)
  889.                 .addGap(25, 25, 25))
  890.         );
  891.  
  892.         panel_main.add(panel_topup, "card5");
  893.  
  894.         getContentPane().add(panel_main, new org.netbeans.lib.awtextra.AbsoluteConstraints(200, 80, 720, 410));
  895.  
  896.         pack();
  897.     }// </editor-fold>                        
  898.  
  899.     private void btn_logoutActionPerformed(java.awt.event.ActionEvent evt) {                                          
  900.         new Login().setVisible(true);
  901.         dispose();
  902.     }                                          
  903.  
  904.     private void btn_homeActionPerformed(java.awt.event.ActionEvent evt) {                                        
  905.         panel_home.setVisible(true);
  906.         panel_order.setVisible(false);
  907.         panel_history.setVisible(false);
  908.         panel_topup.setVisible(false);
  909.     }                                        
  910.  
  911.     private void btn_informationActionPerformed(java.awt.event.ActionEvent evt) {                                                
  912.         panel_history.setVisible(true);
  913.         panel_order.setVisible(false);
  914.         panel_home.setVisible(false);
  915.         panel_topup.setVisible(false);
  916.     }                                              
  917.  
  918.     private void btn_orderActionPerformed(java.awt.event.ActionEvent evt) {                                          
  919.         panel_order.setVisible(true);
  920.         panel_home.setVisible(false);
  921.         panel_history.setVisible(false);
  922.         panel_topup.setVisible(false);
  923.     }                                        
  924.  
  925.     private void btn_topupActionPerformed(java.awt.event.ActionEvent evt) {                                          
  926.         panel_topup.setVisible(true);
  927.         panel_order.setVisible(false);
  928.         panel_home.setVisible(false);
  929.         panel_history.setVisible(false);
  930.  
  931.     }                                        
  932.  
  933.    
  934.     private void btn_beliOrderActionPerformed(java.awt.event.ActionEvent evt) {                                              
  935.  
  936.     }                                            
  937.  
  938.     private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                        
  939.         tf_namaOrder.setText("");
  940.         cb_buku.setSelectedIndex(0);
  941.         spinner_jumlah.setValue(0);
  942.         tf_totalPembayaranOrder.setText("");
  943.         rb_pembayaranOrder1.setSelected(false);
  944.         rb_pembayaranOrder2.setSelected(false);
  945.         tf_namaOrder.requestFocus();
  946.     }                                        
  947.  
  948.    
  949.     /**
  950.      * @param args the command line arguments
  951.      */
  952.     public static void main(String args[]) {
  953.         /* Set the Nimbus look and feel */
  954.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  955.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  956.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  957.          */
  958.         try {
  959.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  960.                 if ("Nimbus".equals(info.getName())) {
  961.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  962.                     break;
  963.                 }
  964.             }
  965.         } catch (ClassNotFoundException ex) {
  966.             java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  967.         } catch (InstantiationException ex) {
  968.             java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  969.         } catch (IllegalAccessException ex) {
  970.             java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  971.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  972.             java.util.logging.Logger.getLogger(Home.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  973.         }
  974.         //</editor-fold>
  975.  
  976.         /* Create and display the form */
  977.         java.awt.EventQueue.invokeLater(new Runnable() {
  978.             public void run() {
  979.                 new Home().setVisible(true);
  980.             }
  981.         });
  982.     }
  983.  
  984.     // Variables declaration - do not modify                    
  985.     private javax.swing.JButton btn_addTopup;
  986.     private javax.swing.JButton btn_beliOrder;
  987.     private javax.swing.JButton btn_home;
  988.     private javax.swing.JButton btn_information;
  989.     private javax.swing.JButton btn_logout;
  990.     private javax.swing.JButton btn_order;
  991.     private javax.swing.JButton btn_topup;
  992.     private javax.swing.ButtonGroup buttonGroup1;
  993.     private javax.swing.JComboBox<String> cb_buku;
  994.     private javax.swing.JButton jButton2;
  995.     private javax.swing.JLabel jLabel1;
  996.     private javax.swing.JLabel jLabel3;
  997.     private javax.swing.JLabel jLabel4;
  998.     private javax.swing.JLabel jLabel6;
  999.     private javax.swing.JLabel jLabel7;
  1000.     private javax.swing.JLabel jLabel8;
  1001.     private javax.swing.JPanel jPanel1;
  1002.     private javax.swing.JPanel jPanel2;
  1003.     private javax.swing.JScrollPane jScrollPane1;
  1004.     private javax.swing.JScrollPane jScrollPane2;
  1005.     private javax.swing.JScrollPane jScrollPane3;
  1006.     private javax.swing.JTextArea jTextArea1;
  1007.     private javax.swing.JLabel lbl_bukuOrder;
  1008.     private javax.swing.JLabel lbl_ip;
  1009.     private javax.swing.JLabel lbl_judulOrder;
  1010.     private javax.swing.JLabel lbl_jumlahOrder;
  1011.     private javax.swing.JLabel lbl_logo;
  1012.     private javax.swing.JLabel lbl_namaOrder;
  1013.     private javax.swing.JLabel lbl_pembayaranOrder;
  1014.     private javax.swing.JLabel lbl_saldo;
  1015.     private javax.swing.JLabel lbl_totalOrder;
  1016.     private javax.swing.JLabel lbl_username;
  1017.     private javax.swing.JPanel panel_header;
  1018.     private javax.swing.JPanel panel_history;
  1019.     private javax.swing.JPanel panel_home;
  1020.     private javax.swing.JPanel panel_main;
  1021.     private javax.swing.JPanel panel_order;
  1022.     private javax.swing.JPanel panel_sidebar;
  1023.     private javax.swing.JPanel panel_topup;
  1024.     private javax.swing.JRadioButton rb_pembayaranOrder1;
  1025.     private javax.swing.JRadioButton rb_pembayaranOrder2;
  1026.     private javax.swing.JSpinner spinner_jumlah;
  1027.     private javax.swing.JTable table_history;
  1028.     private javax.swing.JTable table_topup;
  1029.     private javax.swing.JTextField tf_namaOrder;
  1030.     public static javax.swing.JTextField tf_topup;
  1031.     private javax.swing.JTextField tf_totalPembayaranOrder;
  1032.     // End of variables declaration                  
  1033.  
  1034.     private void showPanel(JPanel jPanel3) {
  1035.         throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  1036.     }
  1037. }
  1038.  
Add Comment
Please, Sign In to add comment