/* * ATM Example system - file SimReceiptPrinter.java * * copyright (c) 2001 - Russell C. Bjork * */ package simulation;import java.awt.*;import java.awt.event.*;/** Simulate the receipt printer */class SimReceiptPrinter extends Panel{    /** Constructor     */    SimReceiptPrinter()    {        setLayout(new BorderLayout(5, 5));                // The actual area where receipt prints                printArea =             new TextArea("", ATMPanel.PRINTABLE_LINES, ATMPanel.PRINTABLE_CHARS,                         TextArea.SCROLLBARS_VERTICAL_ONLY);        printArea.setBackground(Color.white);        printArea.setForeground(Color.black);        printArea.setFont(new Font("Monospaced", Font.PLAIN, 12));        printArea.setEditable(false);        add(printArea, BorderLayout.SOUTH);                     // Give user a button to click to take receipt - only visible when a        // receipt has been printed. We put the button in a panel with a        // GridLayout to ensure it gets space, even when invisible                Panel buttonPanel = new Panel();        buttonPanel.setLayout(new GridLayout(1,1));        take = new Button("Take receipt");        buttonPanel.add(take);        add(buttonPanel, BorderLayout.NORTH);        take.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e)            {                printArea.setText("");                take.setVisible(false);            }        });                take.setVisible(false);    }        /** Print line to receipt     *     *  @param text the line to print     */    void println(String text)    {        printArea.append(text + '\n');        try        {             Thread.sleep(1 * 1000);        }        catch (InterruptedException e)        { }       take.setVisible(true);    }            /** Simulated printout of receipt     */    private TextArea printArea;        /** Button to allow the user to take the receipt     */    private Button take;}                                       