/* * ATM Example system - file LogPanel.java   * * copyright (c) 2001 - Russell C. Bjork * */ package simulation;import java.awt.*;import java.awt.event.*;/** The GUI panel that displays the ATM's internal log */class LogPanel extends Panel{    /** Constructor     *     *  @param gui the the overall GUI     */         LogPanel(final GUI gui)    {        GridBagLayout logLayout = new GridBagLayout();        setLayout(logLayout);        setFont(new Font("Monospaced", Font.PLAIN, 14));                Label logPanelLabel = new Label("Log", Label.CENTER);        add(logPanelLabel);        GridBagConstraints constraints =             GUI.makeConstraints(0, 0, 1, 1, GridBagConstraints.NONE);        constraints.weighty = 0;        logLayout.setConstraints(logPanelLabel, constraints);                     logPrintArea = new TextArea();        logPrintArea.setBackground(Color.white);        logPrintArea.setForeground(Color.black);        logPrintArea.setFont(new Font("Monospaced", Font.PLAIN, 12));        logPrintArea.setEditable(false);                add(logPrintArea);        constraints = GUI.makeConstraints(1, 0, 1, 1, GridBagConstraints.BOTH);        constraints.weighty = 1;        logLayout.setConstraints(logPrintArea, constraints);                Panel logButtonPanel = new Panel();        logButtonPanel.setLayout(new FlowLayout());                Button clearLogButton = new Button("Clear Log");        clearLogButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e)            {                logPrintArea.setText("");            }        });        logButtonPanel.add(clearLogButton);                Button dismissLogButton = new Button(" Hide Log ");        dismissLogButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e)            {                gui.showCard("ATM");            }        });                logButtonPanel.add(dismissLogButton);        add(logButtonPanel);        constraints = GUI.makeConstraints(2, 0, 1, 1, GridBagConstraints.NONE);        constraints.weighty = 0;        logLayout.setConstraints(logButtonPanel, constraints);    }        /** Add text to the log     *     *  @param text the text to be printed     */    void println(String text)    {        logPrintArea.append(text + "\n");    }        /** Area into which the log is to be printed     */    private TextArea logPrintArea;}                    