📄 jpaymentselect.java
字号:
// Tina POS is a point of sales application designed for touch screens.// Copyright (C) 2005 Adrian Romero Corchado.// http://sourceforge.net/projects/tinapos//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USApackage net.adrianromero.tpv.payment;import java.awt.Component;import java.awt.Dialog;import java.awt.Frame;import java.awt.Window;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import javax.swing.JFrame;import net.adrianromero.tpv.ticket.*;import net.adrianromero.tpv.forms.AppView;import net.adrianromero.tpv.forms.AppLocal;import net.adrianromero.format.Formats;public class JPaymentSelect extends javax.swing.JDialog implements JPaymentNotifier { private TicketInfo m_ticket; private PaymentInfoList m_aPaymentInfo; private String m_sresourcename; private double m_dTotal; // es funcion de m_ticket private String m_sTransaction; // es funcion de m_ticket /** Creates new form JPayTicket */ private JPaymentSelect(java.awt.Frame parent, boolean modal) { super(parent, modal); } /** Creates new form JPayTicket */ private JPaymentSelect(java.awt.Dialog parent, boolean modal) { super(parent, modal); } private String init(AppView app, TicketInfo ticket) { // Primero inicializo las variables m_ticket = ticket; m_sresourcename = null; m_dTotal = m_ticket.getTotal(); m_sTransaction = Integer.toString(m_ticket.getId()); m_ticket.resetPayments(); // inicializo el pago m_aPaymentInfo = new PaymentInfoList(); // m_jButtonRemove.setEnabled(false); // Inicializo los componentes initComponents(); getRootPane().setDefaultButton(m_jButtonOK); m_jTotalEuros.setText(Formats.CURRENCY.formatValue(new Double(m_dTotal))); if (m_dTotal > 0.0) { // Entrada de dinero addTabPayment(new JPaymentCashPos(this), "tab.cash", "/net/adrianromero/images/cash.png"); addTabPayment(new JPaymentCheque(this), "tab.cheque", "/net/adrianromero/images/desktop.png"); addTabPayment(new JPaymentPaper(this, "paperin"), "tab.paper", "/net/adrianromero/images/knotes.png"); addTabPayment(new JPaymentTicket(this), "tab.ticket", "/net/adrianromero/images/kontact.png"); addTabPayment(new JPaymentMagcard(app, this), "tab.magcard", "/net/adrianromero/images/vcard.png"); addTabPayment(new JPaymentFree(this), "tab.free", "/net/adrianromero/images/package_toys.png"); } else { // devoluciones... addTabPayment(new JPaymentRefund(this, "cashrefund"), "tab.cashrefund", "/net/adrianromero/images/cash.png"); addTabPayment(new JPaymentRefund(this, "chequerefund"), "tab.chequerefund", "/net/adrianromero/images/desktop.png"); addTabPayment(new JPaymentRefund(this, "paperout"), "tab.paper", "/net/adrianromero/images/knotes.png"); addTabPayment(new JPaymentMagcard(app, this), "tab.magcard", "/net/adrianromero/images/vcard.png"); jPanel6.setVisible(false); } printState(); setVisible(true); return m_sresourcename; } private void addTabPayment(JPaymentInterface tab, String sIntString, String sIconRes) { m_jTabPayment.addTab( AppLocal.getIntString(sIntString), new javax.swing.ImageIcon(getClass().getResource(sIconRes)), tab.getComponent()); } private void printState() { m_jRemaininglEuros.setText(Formats.CURRENCY.formatValue(new Double(m_dTotal - m_aPaymentInfo.getTotal()))); m_jButtonRemove.setEnabled(!m_aPaymentInfo.isEmpty()); m_jTabPayment.setSelectedIndex(0); // selecciono el primero ((JPaymentInterface) m_jTabPayment.getSelectedComponent()).activate(m_sTransaction, m_dTotal - m_aPaymentInfo.getTotal()); } private static Window getWindow(Component parent) { if (parent == null) { return new JFrame(); } else if (parent instanceof Frame || parent instanceof Dialog) { return (Window)parent; } else { return getWindow(parent.getParent()); } } public static String showMessage(Component parent, AppView app, TicketInfo ticket) { Window window = getWindow(parent); JPaymentSelect myMsg; if (window instanceof Frame) { myMsg = new JPaymentSelect((Frame) window, true); } else { myMsg = new JPaymentSelect((Dialog) window, true); } return myMsg.init(app, ticket); } public void setOKEnabled(boolean bValue) { m_jButtonOK.setEnabled(bValue); } public void setAddEnabled(boolean bValue) { m_jButtonAdd.setEnabled(bValue); } private void disposeOK(String sresourcename) { PaymentInfo returnPayment = ((JPaymentInterface) m_jTabPayment.getSelectedComponent()).executePayment(); if (returnPayment != null) { m_aPaymentInfo.add(returnPayment); m_ticket.setPayments(m_aPaymentInfo.getPayments()); m_sresourcename = sresourcename; dispose(); } } /** 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() { jDialog1 = new javax.swing.JDialog(); jPanel4 = new javax.swing.JPanel(); m_jLblTotalEuros1 = new javax.swing.JLabel(); m_jTotalEuros = new javax.swing.JLabel(); jPanel6 = new javax.swing.JPanel(); m_jLblRemainingEuros = new javax.swing.JLabel(); m_jRemaininglEuros = new javax.swing.JLabel(); m_jButtonAdd = new javax.swing.JButton(); m_jButtonRemove = new javax.swing.JButton(); jPanel3 = new javax.swing.JPanel(); m_jTabPayment = new javax.swing.JTabbedPane(); jPanel2 = new javax.swing.JPanel(); m_jButtonPrint = new javax.swing.JToggleButton(); jPanel1 = new javax.swing.JPanel(); m_jButtonOK = new javax.swing.JButton(); m_jButtonCancel = new javax.swing.JButton();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -