commit 76e84467535aea014ccc209b1ef20ac76a72fe92 Author: Dan Date: Thu Aug 8 14:06:08 2019 +0200 First commit diff --git a/Billing System/.classpath b/Billing System/.classpath new file mode 100644 index 0000000..891bde7 --- /dev/null +++ b/Billing System/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/Billing System/.gitignore b/Billing System/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/Billing System/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/Billing System/.project b/Billing System/.project new file mode 100644 index 0000000..dc31825 --- /dev/null +++ b/Billing System/.project @@ -0,0 +1,17 @@ + + + Billing System + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/Billing System/.settings/org.eclipse.jdt.core.prefs b/Billing System/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..bb35fa0 --- /dev/null +++ b/Billing System/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/Billing System/src/billingSystem/BillingSystem.java b/Billing System/src/billingSystem/BillingSystem.java new file mode 100644 index 0000000..e21b6ef --- /dev/null +++ b/Billing System/src/billingSystem/BillingSystem.java @@ -0,0 +1,767 @@ +package billingSystem; + +import java.awt.EventQueue; +import javax.swing.JFrame; +import java.awt.Color; +import java.awt.Component; +import java.util.*; +import java.text.*; +import javax.swing.JPanel; +import javax.swing.border.LineBorder; +import javax.swing.JCheckBox; +import java.awt.Font; +import javax.swing.JTextField; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextArea; +import javax.swing.JButton; +import javax.swing.ImageIcon; +import javax.swing.JSeparator; +import java.awt.event.ActionListener; +import java.awt.event.ActionEvent; +import javax.swing.ButtonGroup; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; + +public class BillingSystem { + + private JFrame frmBillingSystem; + private JTextField textFieldLabour; + private JTextField textFieldTravel; + private JTextField textFieldPlastic; + private JTextField textFieldCooper; + private JTextField textFieldChrome; + private JTextField textFieldCostOfMaterial; + private JTextField textFieldCostOfLabor; + private JTextField textFieldTaxable; + private JTextField textFieldVAT; + private JTextField textFieldMileage; + private JTextField textFieldTax; + private JTextField textFieldSubtotal; + private JTextField textFieldTotal; + private final ButtonGroup buttonGroup = new ButtonGroup(); + + /** + * Launch the application. + */ + public static void main(String[] args) { + EventQueue.invokeLater(new Runnable() { + public void run() { + try { + BillingSystem window = new BillingSystem(); + window.frmBillingSystem.setVisible(true); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + } + + /** + * Create the application. + */ + public BillingSystem() { + initialize(); + frmBillingSystem.setLocationRelativeTo(null); + } + + /** + * Initialize the contents of the frame. + */ + private void initialize() { + frmBillingSystem = new JFrame(); + frmBillingSystem.addWindowListener(new WindowAdapter() { + @Override + public void windowActivated(WindowEvent arg0) { + textFieldLabour.setEnabled(false); + textFieldLabour.setText("0"); + + textFieldTravel.setEnabled(false); + textFieldTravel.setText("0"); + + textFieldPlastic.setEnabled(false); + textFieldPlastic.setText("0"); + + textFieldCooper.setEnabled(false); + textFieldCooper.setText("0"); + + textFieldChrome.setEnabled(false); + textFieldChrome.setText("0"); + + textFieldCostOfMaterial.setEnabled(false); + textFieldCostOfMaterial.setText("0"); + + textFieldCostOfLabor.setEnabled(false); + textFieldCostOfLabor.setText("0"); + + textFieldTaxable.setEnabled(false); + textFieldTaxable.setText("0"); + + textFieldVAT.setEnabled(false); + textFieldVAT.setText("0"); + + textFieldMileage.setEnabled(false); + textFieldMileage.setText("0"); + + textFieldTax.setEnabled(false); + textFieldTax.setText("0"); + + textFieldSubtotal.setEnabled(false); + textFieldSubtotal.setText("0"); + + textFieldTotal.setEnabled(false); + textFieldTotal.setText("0"); + + } + }); + frmBillingSystem.getContentPane().setBackground(new Color(153, 204, 51)); + frmBillingSystem.setTitle("Billing System"); + frmBillingSystem.setBounds(0, 0, 1280, 720); + frmBillingSystem.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + frmBillingSystem.getContentPane().setLayout(null); + + JPanel panel = new JPanel(); + panel.setBorder(new LineBorder(new Color(0, 0, 0), 4)); + panel.setBounds(10, 11, 1244, 76); + frmBillingSystem.getContentPane().add(panel); + panel.setLayout(null); + + JLabel lblBillingSystem = new JLabel("Billing System"); + lblBillingSystem.setFont(new Font("Tahoma", Font.BOLD, 50)); + lblBillingSystem.setBounds(390, 0, 358, 61); + panel.add(lblBillingSystem); + + JLabel lblNewLabel_1 = new JLabel(""); + lblNewLabel_1.setIcon(new ImageIcon("C:\\Users\\Dan\\Desktop\\Icons\\Logo0.png")); + lblNewLabel_1.setBounds(10, 11, 64, 53); + panel.add(lblNewLabel_1); + + JPanel panel_1 = new JPanel(); + panel_1.setBorder(new LineBorder(new Color(0, 0, 0), 4)); + panel_1.setBounds(896, 98, 358, 492); + frmBillingSystem.getContentPane().add(panel_1); + panel_1.setLayout(null); + + JTextArea textReceipt = new JTextArea(); + textReceipt.setBounds(10, 11, 338, 470); + panel_1.add(textReceipt); + + JPanel panel_2 = new JPanel(); + panel_2.setBorder(new LineBorder(new Color(0, 0, 0), 4)); + panel_2.setBounds(10, 98, 876, 492); + frmBillingSystem.getContentPane().add(panel_2); + panel_2.setLayout(null); + + JCheckBox cbxLabour = new JCheckBox("Labour"); + cbxLabour.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + if(cbxLabour.isSelected()) { + textFieldLabour.setEnabled(true); + textFieldLabour.setText(null); + textFieldLabour.requestFocus(); + + }else { + textFieldLabour.setEnabled(false); + textFieldLabour.setText("0"); + } + } + }); + cbxLabour.setFont(new Font("Tahoma", Font.BOLD, 30)); + cbxLabour.setBounds(23, 43, 131, 45); + panel_2.add(cbxLabour); + + textFieldLabour = new JTextField(); + textFieldLabour.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + + Child_Billing OnlyNumbers = new Child_Billing(); + try { + OnlyNumbers.NumbersOnly(e); + } catch (NumberFormatException ex) { + JOptionPane.showConfirmDialog(null, "Billing System"); + } + } + }); + textFieldLabour.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldLabour.setBounds(184, 55, 161, 20); + panel_2.add(textFieldLabour); + textFieldLabour.setColumns(10); + + textFieldTravel = new JTextField(); + textFieldTravel.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + Child_Billing OnlyNumbers = new Child_Billing(); + try { + OnlyNumbers.NumbersOnly(e); + } catch (NumberFormatException ex) { + JOptionPane.showConfirmDialog(null, "Billing System"); + } + } + }); + textFieldTravel.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldTravel.setColumns(10); + textFieldTravel.setBounds(184, 107, 161, 20); + panel_2.add(textFieldTravel); + + textFieldPlastic = new JTextField(); + textFieldPlastic.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + Child_Billing OnlyNumbers = new Child_Billing(); + try { + OnlyNumbers.NumbersOnly(e); + } catch (NumberFormatException ex) { + JOptionPane.showConfirmDialog(null, "Billing System"); + } + } + }); + textFieldPlastic.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldPlastic.setColumns(10); + textFieldPlastic.setBounds(184, 154, 161, 20); + panel_2.add(textFieldPlastic); + + textFieldCooper = new JTextField(); + textFieldCooper.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + Child_Billing OnlyNumbers = new Child_Billing(); + try { + OnlyNumbers.NumbersOnly(e); + } catch (NumberFormatException ex) { + JOptionPane.showConfirmDialog(null, "Billing System"); + } + } + }); + textFieldCooper.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldCooper.setColumns(10); + textFieldCooper.setBounds(184, 198, 161, 20); + panel_2.add(textFieldCooper); + + textFieldChrome = new JTextField(); + textFieldChrome.addKeyListener(new KeyAdapter() { + @Override + public void keyTyped(KeyEvent e) { + Child_Billing OnlyNumbers = new Child_Billing(); + try { + OnlyNumbers.NumbersOnly(e); + } catch (NumberFormatException ex) { + JOptionPane.showConfirmDialog(null, "Billing System"); + } + } + }); + textFieldChrome.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldChrome.setColumns(10); + textFieldChrome.setBounds(184, 239, 161, 20); + panel_2.add(textFieldChrome); + + JLabel lblNewLabel = new JLabel("Cost of Material"); + lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblNewLabel.setBounds(409, 47, 238, 37); + panel_2.add(lblNewLabel); + + JLabel lblCostOf = new JLabel("Cost of Labor"); + lblCostOf.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblCostOf.setBounds(409, 99, 217, 37); + panel_2.add(lblCostOf); + + JLabel lblTaxable = new JLabel("Taxable"); + lblTaxable.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblTaxable.setBounds(409, 227, 118, 37); + panel_2.add(lblTaxable); + + JLabel lblVat = new JLabel("VAT"); + lblVat.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblVat.setBounds(409, 190, 59, 37); + panel_2.add(lblVat); + + JLabel lblMileage = new JLabel("Mileage"); + lblMileage.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblMileage.setBounds(409, 142, 118, 37); + panel_2.add(lblMileage); + + textFieldCostOfMaterial = new JTextField(); + textFieldCostOfMaterial.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldCostOfMaterial.setColumns(10); + textFieldCostOfMaterial.setBounds(670, 55, 178, 20); + panel_2.add(textFieldCostOfMaterial); + + textFieldCostOfLabor = new JTextField(); + textFieldCostOfLabor.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldCostOfLabor.setColumns(10); + textFieldCostOfLabor.setBounds(670, 107, 178, 20); + panel_2.add(textFieldCostOfLabor); + + textFieldTaxable = new JTextField(); + textFieldTaxable.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldTaxable.setColumns(10); + textFieldTaxable.setBounds(670, 239, 178, 20); + panel_2.add(textFieldTaxable); + + textFieldVAT = new JTextField(); + textFieldVAT.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldVAT.setColumns(10); + textFieldVAT.setBounds(670, 198, 178, 20); + panel_2.add(textFieldVAT); + + textFieldMileage = new JTextField(); + textFieldMileage.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldMileage.setColumns(10); + textFieldMileage.setBounds(670, 154, 178, 20); + panel_2.add(textFieldMileage); + + textFieldTax = new JTextField(); + textFieldTax.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldTax.setColumns(10); + textFieldTax.setBounds(670, 365, 178, 20); + panel_2.add(textFieldTax); + + textFieldSubtotal = new JTextField(); + textFieldSubtotal.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldSubtotal.setColumns(10); + textFieldSubtotal.setBounds(670, 410, 178, 20); + panel_2.add(textFieldSubtotal); + + textFieldTotal = new JTextField(); + textFieldTotal.setFont(new Font("Tahoma", Font.PLAIN, 20)); + textFieldTotal.setColumns(10); + textFieldTotal.setBounds(670, 452, 178, 20); + panel_2.add(textFieldTotal); + + JLabel lblTax = new JLabel("Tax"); + lblTax.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblTax.setBounds(409, 357, 54, 37); + panel_2.add(lblTax); + + JLabel lblSubtotal = new JLabel("Subtotal"); + lblSubtotal.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblSubtotal.setBounds(409, 402, 127, 37); + panel_2.add(lblSubtotal); + + JLabel lblTotal = new JLabel("Total"); + lblTotal.setFont(new Font("Tahoma", Font.BOLD, 30)); + lblTotal.setBounds(409, 444, 76, 37); + panel_2.add(lblTotal); + + JCheckBox cbxTravel = new JCheckBox("Travel"); + cbxTravel.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if(cbxTravel.isSelected()) { + textFieldTravel.setEnabled(true); + textFieldTravel.setText(null); + textFieldTravel.requestFocus(); + + }else { + textFieldTravel.setEnabled(false); + textFieldTravel.setText("0"); + } + } + }); + cbxTravel.setFont(new Font("Tahoma", Font.BOLD, 30)); + cbxTravel.setBounds(23, 91, 119, 45); + panel_2.add(cbxTravel); + + JCheckBox cbxPlastic = new JCheckBox("Plastic"); + cbxPlastic.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if(cbxPlastic.isSelected()) { + textFieldPlastic.setEnabled(true); + textFieldPlastic.setText(null); + textFieldPlastic.requestFocus(); + + }else { + textFieldPlastic.setEnabled(false); + textFieldPlastic.setText("0"); + } + } + }); + cbxPlastic.setFont(new Font("Tahoma", Font.BOLD, 30)); + cbxPlastic.setBounds(23, 137, 125, 45); + panel_2.add(cbxPlastic); + + JCheckBox cbxCooper = new JCheckBox("Cooper"); + cbxCooper.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if(cbxCooper.isSelected()) { + textFieldCooper.setEnabled(true); + textFieldCooper.setText(null); + textFieldCooper.requestFocus(); + + }else { + textFieldCooper.setEnabled(false); + textFieldCooper.setText("0"); + } + } + }); + cbxCooper.setFont(new Font("Tahoma", Font.BOLD, 30)); + cbxCooper.setBounds(23, 180, 133, 45); + panel_2.add(cbxCooper); + + JCheckBox cbxChrome = new JCheckBox("Chrome"); + cbxChrome.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if(cbxChrome.isSelected()) { + textFieldChrome.setEnabled(true); + textFieldChrome.setText(null); + textFieldChrome.requestFocus(); + + }else { + textFieldChrome.setEnabled(false); + textFieldChrome.setText("0"); + } + } + }); + cbxChrome.setFont(new Font("Tahoma", Font.BOLD, 30)); + cbxChrome.setBounds(22, 223, 143, 45); + panel_2.add(cbxChrome); + + JCheckBox chk0 = new JCheckBox("0%"); + chk0.setSelected(true); + buttonGroup.add(chk0); + chk0.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk0.setBounds(24, 358, 71, 39); + panel_2.add(chk0); + + JCheckBox chk5 = new JCheckBox("5%"); + buttonGroup.add(chk5); + chk5.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk5.setBounds(24, 400, 71, 39); + panel_2.add(chk5); + + JCheckBox chk10 = new JCheckBox("10%"); + buttonGroup.add(chk10); + chk10.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk10.setBounds(23, 442, 87, 39); + panel_2.add(chk10); + + JCheckBox chk15 = new JCheckBox("15%"); + buttonGroup.add(chk15); + chk15.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk15.setBounds(245, 360, 87, 39); + panel_2.add(chk15); + + JCheckBox chk20 = new JCheckBox("20%"); + buttonGroup.add(chk20); + chk20.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk20.setBounds(245, 402, 87, 39); + panel_2.add(chk20); + + JCheckBox chk25 = new JCheckBox("25%"); + buttonGroup.add(chk25); + chk25.setFont(new Font("Tahoma", Font.BOLD, 25)); + chk25.setBounds(245, 446, 87, 39); + panel_2.add(chk25); + + JLabel lblDiscount = new JLabel("Discount"); + lblDiscount.setFont(new Font("Tahoma", Font.BOLD, 25)); + lblDiscount.setBounds(111, 320, 110, 31); + panel_2.add(lblDiscount); + + JSeparator separator = new JSeparator(); + separator.setBounds(23, 307, 825, 2); + panel_2.add(separator); + + JSeparator separator_1 = new JSeparator(); + separator_1.setBounds(373, 307, 1, 174); + panel_2.add(separator_1); + + JSeparator separator_2 = new JSeparator(); + separator_2.setBounds(373, 48, 1, 433); + panel_2.add(separator_2); + + JPanel panel_4 = new JPanel(); + panel_4.setBorder(new LineBorder(new Color(0, 0, 0), 4)); + panel_4.setBounds(10, 605, 1244, 66); + frmBillingSystem.getContentPane().add(panel_4); + panel_4.setLayout(null); + + JButton btnExit = new JButton("Exit"); + btnExit.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent arg0) { + Child_Billing iExit = new Child_Billing(); + try { + iExit.iExitSystem(); + } catch (NumberFormatException e) { + JOptionPane.showConfirmDialog(null , "Billing system error"); + } + } + }); + btnExit.setFont(new Font("Tahoma", Font.BOLD, 35)); + btnExit.setBounds(1010, 8, 147, 51); + panel_4.add(btnExit); + + JButton btnReset = new JButton("Reset"); + btnReset.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + JTextField clearText = null; + + for(Component c: panel_2.getComponents()) { + if (c.getClass().toString().contains("javax.swing.JTextField")) { + clearText = (JTextField)c; + clearText.setText(""); + clearText.setEnabled(false); + } + } + //-------------------------------------------------------------- + JCheckBox checker = null; + textReceipt.setText(null); + for(java.awt.Component q: panel_2.getComponents()) { + if (q.getClass().toString().contains("javax.swing.JCheckBox")) { + checker = (JCheckBox)q; + checker.setSelected(false); + chk0.setSelected(true); + } + } + } + }); + btnReset.setFont(new Font("Tahoma", Font.BOLD, 35)); + btnReset.setBounds(700, 8, 160, 51); + panel_4.add(btnReset); + + JButton btnRecipt = new JButton("Receipt"); + btnRecipt.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent a) { + + int refs = 1000 + (int)(Math.random()*9545); + + Calendar timer = Calendar.getInstance(); + timer.getTime(); + SimpleDateFormat tTime = new SimpleDateFormat("HH:mm:ss"); + tTime.format(timer.getTime()); + SimpleDateFormat tDate = new SimpleDateFormat("dd-MM-yyyy"); + tDate.format(timer.getTime()); + //----------------------------Receipt---------------------------- + + textReceipt.append("\tBilling System:\n" + "Reference:\t\t\t" + refs + + "\n================================================\n" + + "Labour:\t\t\t" + textFieldLabour.getText() + "\n\n" + + "Travel:\t\t\t" + textFieldTravel.getText() + "\n\n" + + "Plastic:\t\t\t" + textFieldPlastic.getText() + "\n\n" + + "Cooper:\t\t\t" + textFieldCooper.getText() + "\n\n" + + "Chrome:\t\t\t" + textFieldChrome.getText() + "\n\n" + + "VAT:\t\t\t" + textFieldVAT.getText() + "\n\n" + + "================================================\n"+ + + "Tax:\t\t\t" + textFieldTax.getText() + "\n\n" + + "Subtotal:\t\t\t" + textFieldSubtotal.getText() + "\n\n" + + "Total:\t\t\t" + textFieldTotal.getText() + "\n\n" + + + "================================================\n\n"+ + tDate.format(timer.getTime()) + "\n"+ + tTime.format(timer.getTime()) + "\n"+ + "\nThank you!" + ); + } + }); + btnRecipt.setFont(new Font("Tahoma", Font.BOLD, 35)); + btnRecipt.setBounds(350, 8, 189, 51); + panel_4.add(btnRecipt); + + JButton btnTotal = new JButton("Total"); + btnTotal.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + + double iVAT, iTax, iSubtotal, iTotal; + Child_Billing Cost_Of_Material = new Child_Billing(); + Cost_Of_Material.Labour = Cost_Of_Material.pLabour * Double.parseDouble(textFieldLabour.getText()); + Cost_Of_Material.Travel = Cost_Of_Material.pTravel * Double.parseDouble(textFieldTravel.getText()); + Cost_Of_Material.Plastic = Cost_Of_Material.pPlastic * Double.parseDouble(textFieldPlastic.getText()); + Cost_Of_Material.Cooper = Cost_Of_Material.pCooper * Double.parseDouble(textFieldCooper.getText()); + Cost_Of_Material.Chrome = Cost_Of_Material.pChrome * Double.parseDouble(textFieldChrome.getText()); + + //--------------------------------0%----------------------------------------------------------- + + if(chk0.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------5%----------------------------------------------------------- + + if(chk5.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iSubtotal = iSubtotal-((iSubtotal*5)/100); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------10%----------------------------------------------------------- + + if(chk10.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iSubtotal = iSubtotal-((iSubtotal*10)/100); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------15%----------------------------------------------------------- + + if(chk15.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iSubtotal = iSubtotal-((iSubtotal*15)/100); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------20%----------------------------------------------------------- + + if(chk20.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iSubtotal = iSubtotal-((iSubtotal*20)/100); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------25%----------------------------------------------------------- + + if(chk25.isSelected()) { + iSubtotal = Cost_Of_Material.GetAmount(); + iSubtotal = iSubtotal-((iSubtotal*25)/100); + iTax = Cost_Of_Material.cFindTax(iSubtotal); + iVAT = Cost_Of_Material.cVATTax(iTax); + iTotal = iSubtotal + iTax + iVAT; + + String subtotal = String.format("%.2f", iSubtotal); + textFieldSubtotal.setText(subtotal); + textFieldTaxable.setText(subtotal); + + String vat = String.format("%.2f", iVAT); + textFieldVAT.setText(vat); + + String tax = String.format("%.2f", iTax); + textFieldTax.setText(tax); + + String total = String.format("%.2f", iTotal); + textFieldTotal.setText(total); + + + textFieldCostOfMaterial.setText(String.format("%.2f",Cost_Of_Material.pChrome + Cost_Of_Material.pCooper + + Cost_Of_Material.pPlastic)); + + textFieldCostOfLabor.setText(String.format("%.2f",Cost_Of_Material.Labour)); + textFieldMileage.setText(String.format("%.2f",Cost_Of_Material.Travel)); + } + //--------------------------------Enable Text----------------------------------------------------------- + JTextField clearText = null; + + for(Component c: panel_2.getComponents()) { + if (c.getClass().toString().contains("javax.swing.JTextField")) { + clearText = (JTextField)c; + clearText.setEnabled(true); + } + } + } + + }); + btnTotal.setFont(new Font("Tahoma", Font.BOLD, 35)); + btnTotal.setBounds(100, 8, 133, 51); + panel_4.add(btnTotal); + } + +} diff --git a/Billing System/src/billingSystem/Child_Billing.java b/Billing System/src/billingSystem/Child_Billing.java new file mode 100644 index 0000000..16c3397 --- /dev/null +++ b/Billing System/src/billingSystem/Child_Billing.java @@ -0,0 +1,5 @@ +package billingSystem; + +public class Child_Billing extends Parent_Billing { + +} diff --git a/Billing System/src/billingSystem/Parent_Billing.java b/Billing System/src/billingSystem/Parent_Billing.java new file mode 100644 index 0000000..d8b1783 --- /dev/null +++ b/Billing System/src/billingSystem/Parent_Billing.java @@ -0,0 +1,65 @@ +package billingSystem; + +import java.awt.event.*; +import javax.swing.JFrame; +import javax.swing.JOptionPane; + + +public class Parent_Billing { + + public double Labour; + public double Travel; + public double Plastic; + public double Cooper; + public double Chrome; + public double Tax; + public double VAT; + public double MaterialCost; + + public double pLabour = 43; + public double pTravel = 6.5; + public double pPlastic = 4.75; + public double pCooper = 9.8; + public double pChrome = 7.5; + public double pTax = 0.90; + public double pVAT = 0.90; + + //---------------------Cost------------------------------- + public double GetAmount() { + MaterialCost = Labour + Travel + Plastic + Cooper + Chrome; + return MaterialCost; + } + //---------------------Tax------------------------------- + public Double cFindTax(double cAmount) { + double FindTax = cAmount-(cAmount*pTax); + return FindTax; + } + //---------------------VAT------------------------------- + public Double cVATTax(double cAmount) { + double FindTax = cAmount-(cAmount*pVAT); + return FindTax; + } + //---------------------Exit------------------------------- + public JFrame frame; + public void iExitSystem() { + frame=new JFrame(); + if(JOptionPane.showConfirmDialog(frame, "Confirm if you want to exit", + "Billing system", JOptionPane.YES_NO_OPTION) + ==JOptionPane.YES_NO_OPTION) { + System.exit(0); + } + } + + //---------------------NumbersOnly------------------------------- + + public void NumbersOnly(java.awt.event.KeyEvent evt) { + char iNumber = evt.getKeyChar(); + if (!(Character.isDigit(iNumber)) + ||(iNumber==KeyEvent.VK_BACK_SPACE) + ||(iNumber==KeyEvent.VK_DELETE)){ + evt.consume(); + } + + } + +}