Advertisement
Guest User

Untitled

a guest
Jan 29th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 28.12 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 Form;
  7.         import java.io.File;
  8.         import java.sql.DriverManager;
  9.         import java.sql.Connection;
  10.         import java.sql.Statement;
  11.         import java.sql.ResultSet;
  12.         import java.sql.PreparedStatement;
  13.         import javax.swing.JOptionPane;
  14.         import java.sql.SQLException;
  15.         import javax.swing.table.DefaultTableModel;
  16.         import java.io.File;
  17.         import net.sf.jasperreports.engine.design.*;
  18.         import net.sf.jasperreports.view.JasperViewer;
  19.         import net.sf.jasperreports.engine.*;
  20.         import javax.swing.*;
  21.         import net.sf.jasperreports.engine.xml.JRXmlLoader;
  22.         import java.awt.Cursor;
  23.         import konfigurasi.connection;
  24.  
  25. public class Penjualan extends javax.swing.JFrame {
  26.         Connection con;
  27.         Statement st;
  28.         ResultSet rs;
  29.         PreparedStatement ps;
  30.         String sql;
  31.         private DefaultTableModel model;
  32.     /**
  33.      * Creates new form Penjulanan
  34.      */
  35.     public Penjualan() {
  36.         initComponents();
  37.         koneksi();
  38.         nofaktur();
  39.         model = (DefaultTableModel)jTable1.getModel();
  40.         txt_namabarang.requestFocus();
  41.         txt_jumlah.setText("1");
  42.     }
  43.     public void koneksi(){
  44.         try {
  45.            Class.forName("com.mysql.jdbc.Driver");
  46.               con = DriverManager.getConnection("jdbc:mysql://localhost:3306/pos","root","");
  47.               st = con.createStatement();
  48.         } catch (Exception e) {
  49.             JOptionPane.showMessageDialog(null,"Database Tidak Terkoneksi");
  50.         }
  51.     }
  52.     public void table() {
  53.         DefaultTableModel dataModel = (DefaultTableModel) jTable1.getModel();
  54.         while (dataModel.getRowCount() > 0) {
  55.             for (int i=0; i < dataModel.getRowCount(); i++ ) {
  56.                 dataModel.removeRow(i);
  57.             }
  58.         }
  59.     }
  60.    
  61.     public void clear(){
  62. //        txt_nofaktur.setText("");
  63.         txt_namabarang.setText("");
  64.         txt_barcode.setText("");
  65.         txt_jumlah.setText("");
  66.         txt_harga.setText("");
  67.         txt_stok.setText("");
  68.         txt_total.setText("");
  69.         txt_pembayaraan.setText("");
  70.         txt_kembalian.setText("");
  71.     }
  72.            
  73.     private void nofaktur() {
  74.         try {
  75.             sql = "select * from penjualan order by no_faktur desc";
  76.             st = con.createStatement();
  77.             rs = st.executeQuery(sql);
  78.             if (rs.next()) {
  79.                 String nofak =  rs.getString("no_faktur").substring(1);
  80.                 String AN = ""+(Integer.parseInt(nofak)+1);
  81.                 String Nol = "";
  82.                
  83.                 if (AN.length()==1) {
  84.                     Nol = "000";
  85.                 }
  86.                 else if (AN.length()==2){
  87.                     Nol = "00";
  88.                 }
  89.                 else if (AN.length()==3) {
  90.                     Nol = "0";
  91.                 }
  92.                 else if (AN.length()==4) {
  93.                     Nol = "";
  94.                 }
  95.                 txt_nofaktur.setText("F"+ Nol +AN);
  96.             }else {
  97.                 txt_nofaktur.setText("F0001");
  98.             }
  99.        
  100.         }catch(Exception e) {
  101.             JOptionPane.showMessageDialog(null,e);
  102.         }
  103.     }
  104.    
  105.     @SuppressWarnings("unchecked")
  106.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  107.     private void initComponents() {
  108.  
  109.         jLabel3 = new javax.swing.JLabel();
  110.         jLabel6 = new javax.swing.JLabel();
  111.         jTextField3 = new javax.swing.JTextField();
  112.         jTextField5 = new javax.swing.JTextField();
  113.         jTextField8 = new javax.swing.JTextField();
  114.         jTextField11 = new javax.swing.JTextField();
  115.         jLabel11 = new javax.swing.JLabel();
  116.         jPanel1 = new javax.swing.JPanel();
  117.         jPanel2 = new javax.swing.JPanel();
  118.         jLabel1 = new javax.swing.JLabel();
  119.         jLabel2 = new javax.swing.JLabel();
  120.         jLabel4 = new javax.swing.JLabel();
  121.         jScrollPane1 = new javax.swing.JScrollPane();
  122.         jTable1 = new javax.swing.JTable();
  123.         jLabel7 = new javax.swing.JLabel();
  124.         jLabel8 = new javax.swing.JLabel();
  125.         txt_jumlah = new javax.swing.JTextField();
  126.         txt_pembayaraan = new javax.swing.JTextField();
  127.         txt_kembalian = new javax.swing.JTextField();
  128.         txt_namabarang = new javax.swing.JTextField();
  129.         txt_nofaktur = new javax.swing.JTextField();
  130.         jLabel9 = new javax.swing.JLabel();
  131.         txt_barcode = new javax.swing.JTextField();
  132.         sub_total = new javax.swing.JTextField();
  133.         jLabel10 = new javax.swing.JLabel();
  134.         jLabel12 = new javax.swing.JLabel();
  135.         txt_stok = new javax.swing.JTextField();
  136.         txt_harga = new javax.swing.JTextField();
  137.         txt_total = new javax.swing.JTextField();
  138.  
  139.         jLabel3.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  140.         jLabel3.setText("Nama Barang");
  141.  
  142.         jLabel6.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  143.         jLabel6.setText("No Penjualan");
  144.  
  145.         jTextField3.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  146.  
  147.         jTextField5.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  148.  
  149.         jTextField8.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  150.  
  151.         jTextField11.setEditable(false);
  152.         jTextField11.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  153.  
  154.         jLabel11.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  155.         jLabel11.setText("Harga");
  156.  
  157.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  158.  
  159.         jPanel1.setBackground(new java.awt.Color(255, 255, 255));
  160.         jPanel1.setForeground(new java.awt.Color(255, 255, 255));
  161.  
  162.         jPanel2.setBackground(new java.awt.Color(51, 51, 51));
  163.  
  164.         javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
  165.         jPanel2.setLayout(jPanel2Layout);
  166.         jPanel2Layout.setHorizontalGroup(
  167.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  168.             .addGap(0, 0, Short.MAX_VALUE)
  169.         );
  170.         jPanel2Layout.setVerticalGroup(
  171.             jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  172.             .addGap(0, 100, Short.MAX_VALUE)
  173.         );
  174.  
  175.         jLabel1.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  176.         jLabel1.setText("No Faktur");
  177.  
  178.         jLabel2.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  179.         jLabel2.setText("Nama Barang");
  180.  
  181.         jLabel4.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  182.         jLabel4.setText("Jumlah");
  183.  
  184.         jTable1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
  185.         jTable1.setModel(new javax.swing.table.DefaultTableModel(
  186.             new Object [][] {
  187.  
  188.             },
  189.             new String [] {
  190.                 "Barcode", "Nama Barang", "Harga", "Jumlah", "*"
  191.             }
  192.         ));
  193.         jScrollPane1.setViewportView(jTable1);
  194.  
  195.         jLabel7.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  196.         jLabel7.setText("Pembayaraan     :");
  197.  
  198.         jLabel8.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  199.         jLabel8.setText("Kembalian         :");
  200.  
  201.         txt_jumlah.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  202.         txt_jumlah.addActionListener(new java.awt.event.ActionListener() {
  203.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  204.                 txt_jumlahActionPerformed(evt);
  205.             }
  206.         });
  207.  
  208.         txt_pembayaraan.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  209.         txt_pembayaraan.addActionListener(new java.awt.event.ActionListener() {
  210.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  211.                 txt_pembayaraanActionPerformed(evt);
  212.             }
  213.         });
  214.         txt_pembayaraan.addKeyListener(new java.awt.event.KeyAdapter() {
  215.             public void keyReleased(java.awt.event.KeyEvent evt) {
  216.                 txt_pembayaraanKeyReleased(evt);
  217.             }
  218.         });
  219.  
  220.         txt_kembalian.setEditable(false);
  221.         txt_kembalian.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  222.  
  223.         txt_namabarang.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  224.         txt_namabarang.addActionListener(new java.awt.event.ActionListener() {
  225.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  226.                 txt_namabarangActionPerformed(evt);
  227.             }
  228.         });
  229.  
  230.         txt_nofaktur.setEditable(false);
  231.         txt_nofaktur.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  232.  
  233.         jLabel9.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  234.         jLabel9.setText("Barcode");
  235.  
  236.         txt_barcode.setEditable(false);
  237.         txt_barcode.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  238.  
  239.         sub_total.setEditable(false);
  240.         sub_total.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  241.  
  242.         jLabel10.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  243.         jLabel10.setText("Harga");
  244.  
  245.         jLabel12.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  246.         jLabel12.setText("Stok");
  247.  
  248.         txt_stok.setEditable(false);
  249.         txt_stok.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  250.  
  251.         txt_harga.setEditable(false);
  252.         txt_harga.setFont(new java.awt.Font("Times New Roman", 1, 14)); // NOI18N
  253.  
  254.         txt_total.setEditable(false);
  255.         txt_total.setBackground(new java.awt.Color(0, 0, 0));
  256.         txt_total.setFont(new java.awt.Font("Times New Roman", 1, 48)); // NOI18N
  257.         txt_total.setForeground(new java.awt.Color(0, 153, 0));
  258.         txt_total.addActionListener(new java.awt.event.ActionListener() {
  259.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  260.                 txt_totalActionPerformed(evt);
  261.             }
  262.         });
  263.  
  264.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  265.         jPanel1.setLayout(jPanel1Layout);
  266.         jPanel1Layout.setHorizontalGroup(
  267.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  268.             .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  269.             .addGroup(jPanel1Layout.createSequentialGroup()
  270.                 .addContainerGap()
  271.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  272.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 950, Short.MAX_VALUE)
  273.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  274.                         .addGap(63, 63, 63)
  275.                         .addComponent(sub_total, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  276.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  277.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  278.                             .addGroup(jPanel1Layout.createSequentialGroup()
  279.                                 .addComponent(jLabel8)
  280.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  281.                                 .addComponent(txt_kembalian, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE))
  282.                             .addGroup(jPanel1Layout.createSequentialGroup()
  283.                                 .addComponent(jLabel7)
  284.                                 .addGap(18, 18, 18)
  285.                                 .addComponent(txt_pembayaraan, javax.swing.GroupLayout.PREFERRED_SIZE, 218, javax.swing.GroupLayout.PREFERRED_SIZE))))
  286.                     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
  287.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  288.                             .addComponent(jLabel1)
  289.                             .addComponent(jLabel2))
  290.                         .addGap(9, 9, 9)
  291.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  292.                             .addComponent(txt_namabarang)
  293.                             .addComponent(txt_nofaktur))
  294.                         .addGap(18, 18, 18)
  295.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  296.                             .addGroup(jPanel1Layout.createSequentialGroup()
  297.                                 .addComponent(jLabel4)
  298.                                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  299.                                 .addComponent(txt_jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
  300.                             .addGroup(jPanel1Layout.createSequentialGroup()
  301.                                 .addComponent(jLabel9)
  302.                                 .addGap(27, 27, 27)
  303.                                 .addComponent(txt_barcode, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)))
  304.                         .addGap(18, 18, 18)
  305.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  306.                             .addComponent(jLabel10)
  307.                             .addComponent(jLabel12))
  308.                         .addGap(27, 27, 27)
  309.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  310.                             .addComponent(txt_stok, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)
  311.                             .addComponent(txt_harga, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE))
  312.                         .addGap(104, 104, 104)
  313.                         .addComponent(txt_total, javax.swing.GroupLayout.PREFERRED_SIZE, 256, javax.swing.GroupLayout.PREFERRED_SIZE)))
  314.                 .addContainerGap())
  315.         );
  316.         jPanel1Layout.setVerticalGroup(
  317.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  318.             .addGroup(jPanel1Layout.createSequentialGroup()
  319.                 .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  320.                 .addGap(18, 18, 18)
  321.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  322.                     .addGroup(jPanel1Layout.createSequentialGroup()
  323.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  324.                             .addComponent(jLabel1)
  325.                             .addComponent(txt_nofaktur, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  326.                             .addComponent(jLabel9)
  327.                             .addComponent(txt_barcode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  328.                             .addComponent(jLabel10)
  329.                             .addComponent(txt_harga, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  330.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  331.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  332.                             .addComponent(jLabel2)
  333.                             .addComponent(jLabel4)
  334.                             .addComponent(txt_jumlah, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  335.                             .addComponent(txt_namabarang, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  336.                             .addComponent(jLabel12)
  337.                             .addComponent(txt_stok, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  338.                     .addComponent(txt_total, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
  339.                 .addGap(18, 18, 18)
  340.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
  341.                 .addGap(18, 18, 18)
  342.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  343.                     .addComponent(sub_total, javax.swing.GroupLayout.PREFERRED_SIZE, 1, javax.swing.GroupLayout.PREFERRED_SIZE)
  344.                     .addGroup(jPanel1Layout.createSequentialGroup()
  345.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  346.                             .addComponent(jLabel7)
  347.                             .addComponent(txt_pembayaraan, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
  348.                         .addGap(18, 18, 18)
  349.                         .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
  350.                             .addComponent(jLabel8)
  351.                             .addComponent(txt_kembalian, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
  352.                 .addGap(0, 23, Short.MAX_VALUE))
  353.         );
  354.  
  355.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  356.         getContentPane().setLayout(layout);
  357.         layout.setHorizontalGroup(
  358.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  359.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  360.         );
  361.         layout.setVerticalGroup(
  362.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  363.             .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  364.         );
  365.  
  366.         pack();
  367.         setLocationRelativeTo(null);
  368.     }// </editor-fold>                        
  369.  
  370.     private void txt_namabarangActionPerformed(java.awt.event.ActionEvent evt) {                                              
  371.         // TODO add your handling code here:
  372.         try
  373.             {
  374.                 sql="select * from barang where nama_barang='"+txt_namabarang.getText()+"'";
  375.                 st=con.createStatement();
  376.                 rs=st.executeQuery(sql);
  377.                 while(rs.next())
  378.                 {
  379.                     txt_barcode.setText(rs.getString("barcode"));
  380.                     txt_harga.setText(rs.getString("harga_jual"));
  381.                     txt_stok.setText(rs.getString("jumlah"));
  382.                 }
  383.                 txt_jumlah.requestFocus();
  384.             }catch(Exception e)
  385.             {
  386.                 JOptionPane.showMessageDialog(null,"GAGAL");
  387.             }        
  388.     }                                              
  389.  
  390.     private void txt_jumlahActionPerformed(java.awt.event.ActionEvent evt) {                                          
  391.         // TODO add your handling code here:
  392.        
  393.         int harga,jumlah,hasil,stok;
  394.         jumlah = Integer.parseInt(txt_jumlah.getText());
  395.         stok = Integer.parseInt(txt_stok.getText());
  396.         if (jumlah <= stok) {
  397.             harga = Integer.parseInt(txt_harga.getText());
  398.             hasil = harga * jumlah;
  399.             sub_total.setText(Integer.toString(hasil));
  400.            
  401.            
  402. //        String nm = txt_namabarang.getText();
  403. //        String bar = txt_barcode.getText();
  404. //        String har = txt_harga.getText();
  405. //        String jum = txt_jumlah.getText();
  406. //        String tol = sub_total.getText();
  407.          
  408.         Object[] tbl= new Object[5];
  409.         tbl [0]=txt_barcode.getText();
  410.         tbl [1]=txt_namabarang.getText();
  411.         tbl [2]=txt_harga.getText();
  412.         tbl [3]=txt_jumlah.getText();
  413.         tbl [4]=sub_total.getText();
  414.         model.addRow(tbl);
  415.        
  416.         DefaultTableModel dataModel = (DefaultTableModel) jTable1.getModel();
  417.         int total = 0;
  418.         for (int i =0; i< dataModel.getRowCount(); i++){
  419.         int amount = Integer.parseInt((String)dataModel.getValueAt(i, 4));
  420.         total += amount;
  421.         }
  422.         txt_total.setText(""+total);
  423.         txt_pembayaraan.requestFocus();
  424.         }
  425.        
  426.         else if (jumlah >stok) {
  427.             clear();
  428.             JOptionPane.showMessageDialog(null,"Maaf,,persediaan kami kurang dari permintaan");
  429.             txt_namabarang.requestFocus();
  430.         }      
  431.     }                                          
  432.  
  433.     private void txt_pembayaraanActionPerformed(java.awt.event.ActionEvent evt) {                                                
  434.         // TODO add your handling code here:
  435.         int total,bayar,hasil;
  436.         total = Integer.parseInt(txt_total.getText());
  437.         bayar = Integer.parseInt(txt_pembayaraan.getText());
  438.         if(bayar>=total) {
  439.            hasil= bayar-total;
  440.             txt_kembalian.setText(Integer.toString(hasil));
  441.             try{
  442.                         java.sql.PreparedStatement stmt =con.prepareStatement("insert into penjualan(no_faktur,barcode,nama_barang,harga,jumlah,pembayaraan,kembalian,total)values (?,?,?,?,?,?,?,?)");
  443.                         try{
  444.                            
  445.                             stmt.setString(1,   txt_nofaktur.getText());
  446.                             stmt.setString(2,   txt_barcode.getText());
  447.                             stmt.setString(3,   txt_namabarang.getText());
  448.                             stmt.setString(4,   txt_harga.getText());
  449.                             stmt.setString(5,   txt_jumlah.getText());
  450.                             stmt.setString(6,   txt_pembayaraan.getText());
  451.                             stmt.setString(7,   txt_kembalian.getText());
  452.                             stmt.setString(8,   txt_total.getText());
  453.                             stmt.executeUpdate();
  454.                            
  455.                         }catch(SQLException ex){}
  456.                     }catch(Exception e){    
  457.                     }
  458.              int Pilih = JOptionPane.showConfirmDialog(null,"Apakah ingin di cetak struk pembelian");
  459.              if(Pilih == JOptionPane.YES_OPTION){
  460.                   JOptionPane.showMessageDialog(null,"Silahkan Menunggu Proses Cetak Struk");
  461.                  java.sql.Connection conn = new connection().connect();
  462.         try{
  463.             File file = new File("src/laporan/struk.jrxml");
  464.             JasperDesign jasperDesign = JRXmlLoader.load(file);
  465.             String sql = "select * from penjualan where no_faktur like '%"+txt_nofaktur.getText()+"%'";
  466.             JRDesignQuery newQuery = new JRDesignQuery();
  467.             newQuery.setText(sql);
  468.             jasperDesign.setQuery(newQuery);
  469.             JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
  470.             JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, conn);
  471.             JasperViewer.viewReport(jasperPrint, false);
  472.         } catch (Exception e){
  473.             JOptionPane.showMessageDialog(null, e);
  474.         }
  475.                
  476.              }else if(Pilih == JOptionPane.NO_OPTION){
  477.                  JOptionPane.showMessageDialog(null,"Terima Kasih");
  478.              }
  479.              nofaktur();
  480.              clear();
  481.              table();
  482.              txt_namabarang.requestFocus();
  483.              
  484.         }
  485.         else if(bayar < total) {
  486.             JOptionPane.showMessageDialog(null,"Maaf,, Uang anda kurang dari pembelian anda");
  487.             txt_pembayaraan.setText("");
  488.             txt_pembayaraan.requestFocus();
  489.         }                    
  490.     }                                              
  491.  
  492.     private void txt_totalActionPerformed(java.awt.event.ActionEvent evt) {                                          
  493.         // TODO add your handling code here:
  494.        
  495.     }                                        
  496.  
  497.     private void txt_pembayaraanKeyReleased(java.awt.event.KeyEvent evt) {                                            
  498.         // TODO add your handling code here:
  499.     }                                          
  500.  
  501.    
  502.     public static void main(String args[]) {
  503.         /* Set the Nimbus look and feel */
  504.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  505.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  506.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  507.          */
  508.         try {
  509.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  510.                 if ("Nimbus".equals(info.getName())) {
  511.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  512.                     break;
  513.                 }
  514.             }
  515.         } catch (ClassNotFoundException ex) {
  516.             java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  517.         } catch (InstantiationException ex) {
  518.             java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  519.         } catch (IllegalAccessException ex) {
  520.             java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  521.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  522.             java.util.logging.Logger.getLogger(Penjualan.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  523.         }
  524.         //</editor-fold>
  525.         //</editor-fold>
  526.  
  527.         /* Create and display the form */
  528.         java.awt.EventQueue.invokeLater(new Runnable() {
  529.             public void run() {
  530.                 new Penjualan().setVisible(true);
  531.             }
  532.         });
  533.     }
  534.  
  535.     // Variables declaration - do not modify                    
  536.     private javax.swing.JLabel jLabel1;
  537.     private javax.swing.JLabel jLabel10;
  538.     private javax.swing.JLabel jLabel11;
  539.     private javax.swing.JLabel jLabel12;
  540.     private javax.swing.JLabel jLabel2;
  541.     private javax.swing.JLabel jLabel3;
  542.     private javax.swing.JLabel jLabel4;
  543.     private javax.swing.JLabel jLabel6;
  544.     private javax.swing.JLabel jLabel7;
  545.     private javax.swing.JLabel jLabel8;
  546.     private javax.swing.JLabel jLabel9;
  547.     private javax.swing.JPanel jPanel1;
  548.     private javax.swing.JPanel jPanel2;
  549.     private javax.swing.JScrollPane jScrollPane1;
  550.     private javax.swing.JTable jTable1;
  551.     private javax.swing.JTextField jTextField11;
  552.     private javax.swing.JTextField jTextField3;
  553.     private javax.swing.JTextField jTextField5;
  554.     private javax.swing.JTextField jTextField8;
  555.     private javax.swing.JTextField sub_total;
  556.     private javax.swing.JTextField txt_barcode;
  557.     private javax.swing.JTextField txt_harga;
  558.     private javax.swing.JTextField txt_jumlah;
  559.     private javax.swing.JTextField txt_kembalian;
  560.     private javax.swing.JTextField txt_namabarang;
  561.     private javax.swing.JTextField txt_nofaktur;
  562.     private javax.swing.JTextField txt_pembayaraan;
  563.     private javax.swing.JTextField txt_stok;
  564.     private javax.swing.JTextField txt_total;
  565.     // End of variables declaration                  
  566. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement