0rx

Rental_Mobil_Main_Class

0rx
May 16th, 2020
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 19.68 KB | None | 0 0
  1.  
  2. import java.awt.event.KeyEvent;
  3. import javax.swing.JOptionPane;
  4.  
  5. /*
  6.  * To change this license header, choose License Headers in Project Properties.
  7.  * To change this template file, choose Tools | Templates
  8.  * and open the template in the editor.
  9.  */
  10.  
  11. /**
  12.  *
  13.  * @author baskoro
  14.  */
  15. public class RentalMobil extends javax.swing.JFrame {
  16.  
  17.     /**
  18.      * Creates new form RentalMobil
  19.      */
  20.    
  21.     public double total;
  22.     public double diskon;
  23.    
  24.     Mobil mbl = new Mobil();
  25.    
  26.     public RentalMobil() {
  27.         initComponents();
  28.        
  29.         cbKode.addItem("=Pilih=");
  30.         cbKode.addItem("M0001");
  31.         cbKode.addItem("M0002");
  32.         cbKode.addItem("M0003");
  33.         cbKode.addItem("M0004");
  34.        
  35.     }
  36.    
  37.     void bersih(){
  38.         txMobil.setText("");
  39.         txKapasitas.setText("");
  40.         txHargaSewaPerHari.setText("");
  41.         txLamaSewa.setText("");
  42.         txTotalHarga.setText("");
  43.         txDiskon.setText("");
  44.         txHargaFinal.setText("");
  45.         cbKode.setSelectedItem("=Pilih=");
  46.     }
  47.    
  48.     void aktif(){
  49.         cbKode.setEnabled(true);
  50.         txLamaSewa.setEnabled(true);
  51.         cbKode.grabFocus();
  52.         txMobil.setEnabled(false);
  53.         txKapasitas.setEnabled(false);
  54.         txHargaSewaPerHari.setEnabled(false);
  55.     }
  56.    
  57.     void nonaktif(){
  58.         cbKode.setEnabled(false);
  59.         txLamaSewa.setEnabled(false);
  60.         txMobil.setEnabled(false);
  61.         txKapasitas.setEnabled(false);
  62.         txHargaSewaPerHari.setEnabled(false);
  63.         txTotalHarga.setEnabled(false);
  64.         txDiskon.setEnabled(false);
  65.         txHargaFinal.setEnabled(false);
  66.     }
  67.    
  68.  
  69.     /**
  70.      * This method is called from within the constructor to initialize the form.
  71.      * WARNING: Do NOT modify this code. The content of this method is always
  72.      * regenerated by the Form Editor.
  73.      */
  74.     @SuppressWarnings("unchecked")
  75.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  76.     private void initComponents() {
  77.  
  78.         jPanel1 = new javax.swing.JPanel();
  79.         jLabel2 = new javax.swing.JLabel();
  80.         jLabel3 = new javax.swing.JLabel();
  81.         jLabel4 = new javax.swing.JLabel();
  82.         jLabel5 = new javax.swing.JLabel();
  83.         jLabel6 = new javax.swing.JLabel();
  84.         jLabel7 = new javax.swing.JLabel();
  85.         jLabel8 = new javax.swing.JLabel();
  86.         jLabel9 = new javax.swing.JLabel();
  87.         cbKode = new javax.swing.JComboBox<>();
  88.         txMobil = new javax.swing.JTextField();
  89.         txKapasitas = new javax.swing.JTextField();
  90.         txHargaSewaPerHari = new javax.swing.JTextField();
  91.         txLamaSewa = new javax.swing.JTextField();
  92.         txTotalHarga = new javax.swing.JTextField();
  93.         txDiskon = new javax.swing.JTextField();
  94.         txHargaFinal = new javax.swing.JTextField();
  95.         btnBersih = new javax.swing.JButton();
  96.         btnKeluar = new javax.swing.JButton();
  97.         jLabel10 = new javax.swing.JLabel();
  98.         jLabel11 = new javax.swing.JLabel();
  99.         jLabel12 = new javax.swing.JLabel();
  100.         jLabel1 = new javax.swing.JLabel();
  101.  
  102.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  103.         setBackground(new java.awt.Color(204, 204, 204));
  104.         setResizable(false);
  105.         getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
  106.  
  107.         jPanel1.setBackground(new java.awt.Color(51, 255, 255));
  108.         jPanel1.setForeground(new java.awt.Color(204, 204, 204));
  109.  
  110.         jLabel2.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  111.         jLabel2.setText("Kode");
  112.         jLabel2.setToolTipText("");
  113.  
  114.         jLabel3.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  115.         jLabel3.setText("Nama Mobil");
  116.         jLabel3.setToolTipText("");
  117.  
  118.         jLabel4.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  119.         jLabel4.setText("Kapasitas Max");
  120.  
  121.         jLabel5.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  122.         jLabel5.setText("Harga Sewa");
  123.  
  124.         jLabel6.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  125.         jLabel6.setText("Lama Sewa");
  126.  
  127.         jLabel7.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  128.         jLabel7.setText("Total Harga Sewa");
  129.  
  130.         jLabel8.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  131.         jLabel8.setText("Diskon");
  132.  
  133.         jLabel9.setFont(new java.awt.Font("Lucida Grande", 1, 13)); // NOI18N
  134.         jLabel9.setText("Total Bayar");
  135.  
  136.         cbKode.setToolTipText("");
  137.         cbKode.addActionListener(new java.awt.event.ActionListener() {
  138.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  139.                 cbKodeActionPerformed(evt);
  140.             }
  141.         });
  142.  
  143.         txMobil.setEditable(false);
  144.         txMobil.setOpaque(true);
  145.  
  146.         txKapasitas.setEditable(false);
  147.  
  148.         txHargaSewaPerHari.setEditable(false);
  149.         txHargaSewaPerHari.setOpaque(true);
  150.  
  151.         txLamaSewa.setOpaque(true);
  152.         txLamaSewa.addKeyListener(new java.awt.event.KeyAdapter() {
  153.             public void keyPressed(java.awt.event.KeyEvent evt) {
  154.                 txLamaSewaKeyPressed(evt);
  155.             }
  156.         });
  157.  
  158.         txTotalHarga.setEditable(false);
  159.         txTotalHarga.setOpaque(true);
  160.  
  161.         txDiskon.setEditable(false);
  162.         txDiskon.setOpaque(true);
  163.  
  164.         txHargaFinal.setEditable(false);
  165.         txHargaFinal.setOpaque(true);
  166.  
  167.         btnBersih.setText("Bersih");
  168.         btnBersih.addActionListener(new java.awt.event.ActionListener() {
  169.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  170.                 btnBersihActionPerformed(evt);
  171.             }
  172.         });
  173.  
  174.         btnKeluar.setText("Keluar");
  175.         btnKeluar.addActionListener(new java.awt.event.ActionListener() {
  176.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  177.                 btnKeluarActionPerformed(evt);
  178.             }
  179.         });
  180.  
  181.         jLabel10.setText("------------------------------");
  182.  
  183.         jLabel11.setText(" / Hari");
  184.  
  185.         jLabel12.setText("Hari");
  186.  
  187.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  188.         jPanel1.setLayout(jPanel1Layout);
  189.         jPanel1Layout.setHorizontalGroup(
  190.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  191.             .addGroup(jPanel1Layout.createSequentialGroup()
  192.                 .addGap(16, 16, 16)
  193.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  194.                     .addGroup(jPanel1Layout.createSequentialGroup()
  195.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  196.                             .addComponent(jLabel2)
  197.                             .addComponent(jLabel3)
  198.                             .addComponent(jLabel4))
  199.                         .addGap(28, 28, 28)
  200.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  201.                             .addComponent(txMobil)
  202.                             .addComponent(txKapasitas, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
  203.                             .addComponent(cbKode, 0, 93, Short.MAX_VALUE)))
  204.                     .addGroup(jPanel1Layout.createSequentialGroup()
  205.                         .addComponent(btnBersih)
  206.                         .addGap(18, 18, 18)
  207.                         .addComponent(btnKeluar)))
  208.                 .addGap(29, 29, 29)
  209.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  210.                     .addGroup(jPanel1Layout.createSequentialGroup()
  211.                         .addComponent(jLabel10)
  212.                         .addGap(0, 0, Short.MAX_VALUE))
  213.                     .addGroup(jPanel1Layout.createSequentialGroup()
  214.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  215.                             .addComponent(jLabel5)
  216.                             .addComponent(jLabel9)
  217.                             .addComponent(jLabel8)
  218.                             .addComponent(jLabel6)
  219.                             .addComponent(jLabel7))
  220.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  221.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  222.                             .addGroup(jPanel1Layout.createSequentialGroup()
  223.                                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  224.                                     .addGroup(jPanel1Layout.createSequentialGroup()
  225.                                         .addComponent(txHargaSewaPerHari, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
  226.                                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  227.                                     .addGroup(jPanel1Layout.createSequentialGroup()
  228.                                         .addComponent(txLamaSewa)
  229.                                         .addGap(43, 43, 43)))
  230.                                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  231.                                     .addComponent(jLabel11)
  232.                                     .addComponent(jLabel12))
  233.                                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  234.                             .addGroup(jPanel1Layout.createSequentialGroup()
  235.                                 .addComponent(txTotalHarga, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
  236.                                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  237.                             .addGroup(jPanel1Layout.createSequentialGroup()
  238.                                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
  239.                                     .addComponent(txDiskon, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 92, Short.MAX_VALUE)
  240.                                     .addComponent(txHargaFinal, javax.swing.GroupLayout.Alignment.LEADING))
  241.                                 .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
  242.         );
  243.         jPanel1Layout.setVerticalGroup(
  244.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  245.             .addGroup(jPanel1Layout.createSequentialGroup()
  246.                 .addContainerGap()
  247.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  248.                     .addComponent(jLabel2)
  249.                     .addComponent(jLabel5)
  250.                     .addComponent(cbKode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  251.                     .addComponent(txHargaSewaPerHari, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  252.                     .addComponent(jLabel11))
  253.                 .addGap(21, 21, 21)
  254.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  255.                     .addComponent(jLabel3)
  256.                     .addComponent(jLabel6)
  257.                     .addComponent(txMobil, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  258.                     .addComponent(txLamaSewa, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  259.                     .addComponent(jLabel12))
  260.                 .addGap(25, 25, 25)
  261.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  262.                     .addComponent(jLabel4)
  263.                     .addComponent(jLabel7)
  264.                     .addComponent(txKapasitas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  265.                     .addComponent(txTotalHarga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  266.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  267.                     .addGroup(jPanel1Layout.createSequentialGroup()
  268.                         .addGap(18, 18, 18)
  269.                         .addComponent(jLabel10)
  270.                         .addGap(22, 22, 22)
  271.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  272.                             .addComponent(jLabel8)
  273.                             .addComponent(txDiskon, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  274.                         .addGap(18, 18, 18)
  275.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  276.                             .addComponent(jLabel9)
  277.                             .addComponent(txHargaFinal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  278.                         .addContainerGap(105, Short.MAX_VALUE))
  279.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  280.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  281.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  282.                             .addComponent(btnBersih, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
  283.                             .addComponent(btnKeluar, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE))
  284.                         .addGap(27, 27, 27))))
  285.         );
  286.  
  287.         getContentPane().add(jPanel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 50, 540, 350));
  288.  
  289.         jLabel1.setBackground(new java.awt.Color(51, 255, 255));
  290.         jLabel1.setFont(new java.awt.Font("Lucida Grande", 1, 36)); // NOI18N
  291.         jLabel1.setText("Rental Mobil Abadi Jaya");
  292.         jLabel1.setToolTipText("");
  293.         getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 0, -1, 44));
  294.  
  295.         pack();
  296.     }// </editor-fold>                        
  297.  
  298.     private void btnBersihActionPerformed(java.awt.event.ActionEvent evt) {                                          
  299.         // Aksi yang akan dilakukan tombol Bersih
  300.         bersih(); // Mengeksekusi fungsi bersih()
  301.     }                                        
  302.  
  303.     private void btnKeluarActionPerformed(java.awt.event.ActionEvent evt) {                                          
  304.         // Aksi yang akan dilakukan tombol Keluar
  305.         int x;
  306.         x = JOptionPane.showConfirmDialog(null, "Anda akan menutup aplikasi ini", "Konfirmasi!", JOptionPane.YES_NO_OPTION);
  307.         if(x == JOptionPane.YES_NO_OPTION){
  308.             dispose();
  309.         }
  310.        
  311.     }                                        
  312.  
  313.     private void cbKodeActionPerformed(java.awt.event.ActionEvent evt) {                                      
  314.         // Aksi yang akan di eksekusi untuk komponen cbKode
  315.         mbl.kode        = cbKode.getSelectedItem().toString();
  316.         mbl.seleksiKode();
  317.         txMobil.setText(mbl.nama);
  318.         txKapasitas.setText(mbl.kapasitas);
  319.         txHargaSewaPerHari.setText(Integer.toString(Math.round(mbl.hargaSewaPerHari)));
  320.         txLamaSewa.requestFocus();
  321.        
  322.     }                                      
  323.  
  324.     private void txLamaSewaKeyPressed(java.awt.event.KeyEvent evt) {                                      
  325.         // TODO add your handling code here:
  326.         if(evt.getKeyCode() == KeyEvent.VK_ENTER){
  327.             mbl.lamaSewa    = Integer.parseInt(txLamaSewa.getText());
  328.             total           = Math.round((mbl.hargaSewaPerHari)*(mbl.lamaSewa));
  329.             txTotalHarga.setText(Integer.toString((int) total));
  330.             if (mbl.lamaSewa >= 7){
  331.                 diskon      = (total*10)/100;
  332.                 txDiskon.setText(Integer.toString((int) Math.round(diskon)));
  333.                 txHargaFinal.setText(Integer.toString((int) Math.round(total-diskon)));
  334.             }
  335.             else {
  336.                 txDiskon.setText("Tidak ada");
  337.                 txHargaFinal.setText(Integer.toString((int) total));
  338.             }
  339.            
  340.         }
  341.     }                                    
  342.  
  343.     /**
  344.      * @param args the command line arguments
  345.      */
  346.     public static void main(String args[]) {
  347.         /* Set the Nimbus look and feel */
  348.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  349.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  350.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  351.          */
  352.         try {
  353.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  354.                 if ("Nimbus".equals(info.getName())) {
  355.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  356.                     break;
  357.                 }
  358.             }
  359.         } catch (ClassNotFoundException ex) {
  360.             java.util.logging.Logger.getLogger(RentalMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  361.         } catch (InstantiationException ex) {
  362.             java.util.logging.Logger.getLogger(RentalMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  363.         } catch (IllegalAccessException ex) {
  364.             java.util.logging.Logger.getLogger(RentalMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  365.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  366.             java.util.logging.Logger.getLogger(RentalMobil.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  367.         }
  368.         //</editor-fold>
  369.  
  370.         /* Create and display the form */
  371.         java.awt.EventQueue.invokeLater(new Runnable() {
  372.             public void run() {
  373.                 new RentalMobil().setVisible(true);
  374.             }
  375.         });
  376.     }
  377.  
  378.     // Variables declaration - do not modify                    
  379.     private javax.swing.JButton btnBersih;
  380.     private javax.swing.JButton btnKeluar;
  381.     private javax.swing.JComboBox<String> cbKode;
  382.     private javax.swing.JLabel jLabel1;
  383.     private javax.swing.JLabel jLabel10;
  384.     private javax.swing.JLabel jLabel11;
  385.     private javax.swing.JLabel jLabel12;
  386.     private javax.swing.JLabel jLabel2;
  387.     private javax.swing.JLabel jLabel3;
  388.     private javax.swing.JLabel jLabel4;
  389.     private javax.swing.JLabel jLabel5;
  390.     private javax.swing.JLabel jLabel6;
  391.     private javax.swing.JLabel jLabel7;
  392.     private javax.swing.JLabel jLabel8;
  393.     private javax.swing.JLabel jLabel9;
  394.     private javax.swing.JPanel jPanel1;
  395.     private javax.swing.JTextField txDiskon;
  396.     private javax.swing.JTextField txHargaFinal;
  397.     private javax.swing.JTextField txHargaSewaPerHari;
  398.     private javax.swing.JTextField txKapasitas;
  399.     private javax.swing.JTextField txLamaSewa;
  400.     private javax.swing.JTextField txMobil;
  401.     private javax.swing.JTextField txTotalHarga;
  402.     // End of variables declaration                  
  403. }
Add Comment
Please, Sign In to add comment