The Point of sales System is developed using Java and mysql. The project is built to manage items and transactions. To make a new transaction, fields such as: product name, qty and payment needs to be selected. If you like to learn point of sales systems step by step, this is the right place to learn from the beginning.
Paste this Code inside the keypress Event of the textbox. we created the textbox name txtpcode of this project.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | private void txtpcodeKeyPressed(java.awt.event.KeyEvent evt) { if(evt.getKeyCode() == KeyEvent.VK_ENTER) { String pcode = txtpcode.getText(); try { Class.forName("com.mysql.jdbc.Driver"); con = DriverManager.getConnection("jdbc:mysql://localhost/salespos","root",""); pst = con.prepareStatement("select * from product where id = ?"); pst.setString(1, pcode); rs = pst.executeQuery(); if(rs.next() == false) { JOptionPane.showMessageDialog(this, "Product Code Not Found"); } else { String pname = rs.getString("prodname"); String price = rs.getString("price"); txtpname.setText(pname.trim()); txtprice.setText(price.trim()); } } catch (ClassNotFoundException ex) { Logger.getLogger(pos.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(pos.class.getName()).log(Level.SEVERE, null, ex); } } } |
Add the Product details into the JTable
After receiving the product name and price where the user has the option to add the qty by clicking the add button to see all Products details which will be shown in the below table.
if the user can change the qty.amount should calculated according to the qty selected.
1 2 3 4 5 6 7 8 | private void txtqtyStateChanged(javax.swing.event.ChangeEvent evt) { int qty = Integer.parseInt(txtqty.getValue().toString()); int price = Integer.parseInt(txtprice.getText()); int tot = qty * price; txtamount.setText(String.valueOf(tot)); } |
Paste Code Inside the Add Button
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { DefaultTableModel model = new DefaultTableModel(); model = (DefaultTableModel)jTable1.getModel(); model.addRow(new Object[] { txtpcode.getText(), txtpname.getText(), txtqty.getValue().toString(), txtprice.getText(), txtamount.getText(), }); int sum = 0; for(int i = 0; i<jTable1.getRowCount(); i++) { sum = sum + Integer.parseInt(jTable1.getValueAt(i, 4).toString()); } txtotal.setText(Integer.toString(sum)); txtpcode.setText(""); txtpname.setText(""); txtprice.setText(""); txtamount.setText(""); txtpcode.requestFocus(); } |
Design the Bill
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | public void bill() { String total = txtotal.getText(); String pay = txtpay.getText(); String bal = txtbal.getText(); DefaultTableModel model = new DefaultTableModel(); model = (DefaultTableModel)jTable1.getModel(); txtbill.setText(txtbill.getText() + "******************************************************\n"); txtbill.setText(txtbill.getText() + " POSBILL \n"); txtbill.setText(txtbill.getText() + "*******************************************************\n"); //Heading txtbill.setText(txtbill.getText() + "Product" + "\t" + "Price" + "\t" + "Amount" + "\n" ); for(int i = 0; i < model.getRowCount(); i++) { String pname = (String)model.getValueAt(i, 1); String price = (String)model.getValueAt(i, 3); String amount = (String)model.getValueAt(i, 4); txtbill.setText(txtbill.getText() + pname + "\t" + price + "\t" + amount + "\n" ); } txtbill.setText(txtbill.getText() + "\n"); txtbill.setText(txtbill.getText() + "\t" + "\t" + "Subtotal :" + total + "\n"); txtbill.setText(txtbill.getText() + "\t" + "\t" + "Pay :" + pay + "\n"); txtbill.setText(txtbill.getText() + "\t" + "\t" + "Balance :" + bal + "\n"); txtbill.setText(txtbill.getText() + "\n"); txtbill.setText(txtbill.getText() + "*******************************************************\n"); txtbill.setText(txtbill.getText() + " THANK YOU COME AGIN \n"); } |
Paste the code inside the Bill button
1 2 3 4 5 6 | private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { Balance(); bill(); } |
Paste the code inside the Print Button
1 2 3 4 5 6 7 8 9 | private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { try { txtbill.print(); } catch (PrinterException ex) { Logger.getLogger(pos.class.getName()).log(Level.SEVERE, null, ex); } } |
i have attached the video link below. which will do this tutorials step by step.