//
/* * Example ATM simulation - file ReceiptPrinter.java * * This file implements the class that manages the ATM's receipt printer * * Copyright (c) 1997 - Russell C. Bjork * */ package atm.atmparts; import java.awt.*; import java.util.Date; import atm.util.Money; //
public class ReceiptPrinter extends TextArea
{
//
public ReceiptPrinter()
{
super(GUILayout.PRINTABLE_LINES, GUILayout.PRINTABLE_CHARS);
setBackground(Color.white);
setForeground(Color.black);
setFont(new Font("Courier", Font.PLAIN, 12));
setEditable(false);
}
//
public void printReceipt(int theATMnumber,
String theATMlocation,
int cardNumber,
int serialNumber,
String description,
Money amount,
Money balance,
Money availableBalance)
{ setText("");
// Set up the receipt
String lines[] = new String[7];
int i = 0;
lines[i ++] = new Date().toString() + "\n";
lines[i ++] = theATMnumber + " " + theATMlocation + "\n";
lines[i ++] = "CARD " + cardNumber + " TRANS " + serialNumber + "\n";
lines[i ++] = description + "\n";
if (amount.equals(new Money(0)))
lines[i ++] = "\n";
else
lines[i ++] = "AMOUNT: " + amount.dollars() + "." +
((amount.cents() >= 10) ? "" + amount.cents()
: "0" + amount.cents()) + "\n";
lines[i ++] = "CURR BAL: " + balance.dollars() + "." +
((balance.cents() >= 10) ? "" + balance.cents()
: "0" + balance.cents()) + "\n";
lines[i ++] = "AVAILABLE: " + availableBalance.dollars() + "." +
((availableBalance.cents() >= 10) ? "" + availableBalance.cents()
: "0" + availableBalance.cents()) + "\n";
// Animate it
for (i = 0; i < 7; i ++)
{ appendText(lines[i]);
try
{ Thread.sleep(1 * 1000); }
catch (InterruptedException e)
{ }
}
}
}
//