/* * CashPaymentView.java * * Created on August 11, 2006, 7:30 PM */ package com.floreantpos.ui.views.payment; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.Action; import com.floreantpos.main.Application; import com.floreantpos.model.CashTransaction; import com.floreantpos.swing.PosButton; import com.floreantpos.ui.views.PaymentView; import com.floreantpos.ui.views.SwitchboardView; import com.floreantpos.ui.views.order.RootView; /** * * @author MShahriar */ public class CashPaymentView extends PaymentView { public final static String VIEW_NAME = "CASHPAYMENT_VIEW"; /** Creates new form CashPaymentView */ public CashPaymentView() { initComponents(); tfAmountTendered.setText("0"); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents private void initComponents() { jPanel1 = new com.floreantpos.swing.TransparentPanel(); jLabel1 = new javax.swing.JLabel(); tfAmountTendered = new javax.swing.JTextField(); calcButtonPanel = new com.floreantpos.swing.TransparentPanel(); posButton1 = new com.floreantpos.swing.PosButton(); posButton2 = new com.floreantpos.swing.PosButton(); posButton3 = new com.floreantpos.swing.PosButton(); posButton4 = new com.floreantpos.swing.PosButton(); posButton5 = new com.floreantpos.swing.PosButton(); posButton6 = new com.floreantpos.swing.PosButton(); posButton9 = new com.floreantpos.swing.PosButton(); posButton8 = new com.floreantpos.swing.PosButton(); posButton7 = new com.floreantpos.swing.PosButton(); posButton11 = new com.floreantpos.swing.PosButton(); posButton10 = new com.floreantpos.swing.PosButton(); posButton12 = new com.floreantpos.swing.PosButton(); jPanel3 = new com.floreantpos.swing.TransparentPanel(); jPanel4 = new com.floreantpos.swing.TransparentPanel(); btnChangePayment = new com.floreantpos.swing.PosButton(); btnExactChange = new com.floreantpos.swing.PosButton(); btnNextAmount = new com.floreantpos.swing.PosButton(); jPanel5 = new com.floreantpos.swing.TransparentPanel(); btnFinish = new com.floreantpos.swing.PosButton(); btnCancel = new com.floreantpos.swing.PosButton(); setLayout(new java.awt.BorderLayout(5, 5)); setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cash Transaction", javax.swing.border.TitledBorder.CENTER, javax.swing.border.TitledBorder.DEFAULT_POSITION)); jPanel1.setLayout(new java.awt.BorderLayout()); jPanel1.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createEmptyBorder(1, 5, 1, 5), javax.swing.BorderFactory.createTitledBorder(""))); jPanel1.setPreferredSize(new java.awt.Dimension(98, 90)); jLabel1.setFont(new java.awt.Font("Tahoma", 1, 18)); jLabel1.setForeground(new java.awt.Color(204, 102, 0)); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabel1.setText("AMOUNT TENDERED"); jPanel1.add(jLabel1, java.awt.BorderLayout.NORTH); tfAmountTendered.setBackground(java.awt.Color.white); tfAmountTendered.setEditable(false); tfAmountTendered.setFont(new java.awt.Font("Tahoma", 1, 24)); tfAmountTendered.setHorizontalAlignment(javax.swing.JTextField.RIGHT); tfAmountTendered.setText("0"); tfAmountTendered.setPreferredSize(new java.awt.Dimension(21, 40)); jPanel1.add(tfAmountTendered, java.awt.BorderLayout.CENTER); add(jPanel1, java.awt.BorderLayout.NORTH); calcButtonPanel.setLayout(new java.awt.GridLayout(0, 3, 5, 5)); calcButtonPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 5, 0, 5)); posButton1.setAction(calAction); posButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/7_32.png"))); posButton1.setActionCommand("7"); posButton1.setFocusable(false); calcButtonPanel.add(posButton1); posButton2.setAction(calAction); posButton2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/8_32.png"))); posButton2.setActionCommand("8"); posButton2.setFocusable(false); calcButtonPanel.add(posButton2); posButton3.setAction(calAction); posButton3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/9_32.png"))); posButton3.setActionCommand("9"); posButton3.setFocusable(false); calcButtonPanel.add(posButton3); posButton4.setAction(calAction); posButton4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/4_32.png"))); posButton4.setActionCommand("4"); posButton4.setFocusable(false); calcButtonPanel.add(posButton4); posButton5.setAction(calAction); posButton5.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/5_32.png"))); posButton5.setActionCommand("5"); posButton5.setFocusable(false); calcButtonPanel.add(posButton5); posButton6.setAction(calAction); posButton6.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/6_32.png"))); posButton6.setActionCommand("6"); posButton6.setFocusable(false); calcButtonPanel.add(posButton6); posButton9.setAction(calAction); posButton9.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/1_32.png"))); posButton9.setActionCommand("1"); posButton9.setFocusable(false); calcButtonPanel.add(posButton9); posButton8.setAction(calAction); posButton8.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/2_32.png"))); posButton8.setActionCommand("2"); posButton8.setFocusable(false); calcButtonPanel.add(posButton8); posButton7.setAction(calAction); posButton7.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/3_32.png"))); posButton7.setActionCommand("3"); posButton7.setFocusable(false); calcButtonPanel.add(posButton7); posButton11.setAction(calAction); posButton11.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/0_32.png"))); posButton11.setActionCommand("0"); posButton11.setFocusable(false); calcButtonPanel.add(posButton11); posButton10.setAction(calAction); posButton10.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/dot_32.png"))); posButton10.setActionCommand("."); posButton10.setFocusable(false); calcButtonPanel.add(posButton10); posButton12.setAction(calAction); posButton12.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/clear_32.png"))); posButton12.setText("CLEAR"); posButton12.setFocusable(false); calcButtonPanel.add(posButton12); add(calcButtonPanel, java.awt.BorderLayout.CENTER); jPanel3.setLayout(new java.awt.GridLayout(2, 0, 2, 5)); jPanel3.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 3, 1, 3)); jPanel3.setPreferredSize(new java.awt.Dimension(100, 130)); jPanel4.setLayout(new java.awt.GridLayout(1, 0, 5, 5)); btnChangePayment.setText("<html><body><p align='center'>CHANGE PAYMENT METHOD</p></body></html>"); btnChangePayment.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnChangePaymentActionPerformed(evt); } }); jPanel4.add(btnChangePayment); btnExactChange.setText("EXACT CHANGE"); btnExactChange.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnExactChangeActionPerformed(evt); } }); jPanel4.add(btnExactChange); btnNextAmount.setText("NEXT AMT"); btnNextAmount.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnNextAmountActionPerformed(evt); } }); jPanel4.add(btnNextAmount); jPanel3.add(jPanel4); jPanel5.setLayout(new java.awt.GridLayout(1, 0, 5, 5)); btnFinish.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/finish_32.png"))); btnFinish.setText("FINISH"); btnFinish.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { doFinish(evt); } }); jPanel5.add(btnFinish); btnCancel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/images/cancel_32.png"))); btnCancel.setText("CANCEL"); btnCancel.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnCancelActionPerformed(evt); } }); jPanel5.add(btnCancel); jPanel3.add(jPanel5); add(jPanel3, java.awt.BorderLayout.SOUTH); }// </editor-fold>//GEN-END:initComponents private void btnChangePaymentActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChangePaymentActionPerformed changePaymentMethod(); }//GEN-LAST:event_btnChangePaymentActionPerformed private void doFinish(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doFinish double tenderedAmount = Double.parseDouble(tfAmountTendered.getText()); settleTickets(tenderedAmount, 0, new CashTransaction(), null, null); }//GEN-LAST:event_doFinish private void btnCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnCancelActionPerformed RootView.getInstance().showView(SwitchboardView.VIEW_NAME); }//GEN-LAST:event_btnCancelActionPerformed private void btnExactChangeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnExactChangeActionPerformed settleTickets(getDueAmount(), 0, new CashTransaction(), null, null); }//GEN-LAST:event_btnExactChangeActionPerformed private void btnNextAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnNextAmountActionPerformed double totalPrice = getDueAmount(); double tenderedAmount = Math.ceil(totalPrice); //ticket.setTenderedAmount(tenderedAmount); //doPayTicket(); settleTickets(tenderedAmount, 0, new CashTransaction(), null, null); }//GEN-LAST:event_btnNextAmountActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private com.floreantpos.swing.PosButton btnCancel; private com.floreantpos.swing.PosButton btnChangePayment; private com.floreantpos.swing.PosButton btnExactChange; private com.floreantpos.swing.PosButton btnFinish; private com.floreantpos.swing.PosButton btnNextAmount; private com.floreantpos.swing.TransparentPanel calcButtonPanel; private javax.swing.JLabel jLabel1; private com.floreantpos.swing.TransparentPanel jPanel1; private com.floreantpos.swing.TransparentPanel jPanel3; private com.floreantpos.swing.TransparentPanel jPanel4; private com.floreantpos.swing.TransparentPanel jPanel5; private com.floreantpos.swing.PosButton posButton1; private com.floreantpos.swing.PosButton posButton10; private com.floreantpos.swing.PosButton posButton11; private com.floreantpos.swing.PosButton posButton12; private com.floreantpos.swing.PosButton posButton2; private com.floreantpos.swing.PosButton posButton3; private com.floreantpos.swing.PosButton posButton4; private com.floreantpos.swing.PosButton posButton5; private com.floreantpos.swing.PosButton posButton6; private com.floreantpos.swing.PosButton posButton7; private com.floreantpos.swing.PosButton posButton8; private com.floreantpos.swing.PosButton posButton9; private javax.swing.JTextField tfAmountTendered; // End of variables declaration//GEN-END:variables public void resetView() { tfAmountTendered.setText("0"); } Dimension preferredSize = new Dimension(330, 100); public Dimension getPreferredSize() { return preferredSize; } Action calAction = new AbstractAction() { public void actionPerformed(ActionEvent e) { PosButton button = (PosButton) e.getSource(); String s = button.getActionCommand(); if (s.equals("CLEAR")) { tfAmountTendered.setText("0"); } else if (s.equals(".")) { if (tfAmountTendered.getText().indexOf('.') < 0) { tfAmountTendered.setText(tfAmountTendered.getText() + "."); } } else { String string = tfAmountTendered.getText(); int index = string.indexOf('.'); if (index < 0) { double value = 0; try { value = Double.parseDouble(string); } catch (NumberFormatException x) { Toolkit.getDefaultToolkit().beep(); } if (value == 0) { tfAmountTendered.setText(s); } else { tfAmountTendered.setText(string + s); } } else { tfAmountTendered.setText(string + s); } } } }; @Override public void updateView() { tfAmountTendered.setText(Application.formatNumber(getDueAmount())); } }