// ListDialog

package lab09;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

/**
 *
 * @author J.K. Daugherty
 */
public class ListDialog extends JDialog {

    private JFrame parent;
    private JButton btnOK;
    private JPanel jPanel1;
    private JTextArea txtMessage;
    
    public ListDialog (JFrame parent, boolean modal) {
        super (parent, modal);
        this.parent = parent;
        initComponents();
    }
    
    public ListDialog (JFrame parent, String title, boolean modal) {
        super (parent, title, modal);
        this.parent = parent;
        initComponents();
    }
    
    private void initComponents() {
        jPanel1 = new JPanel();
        btnOK = new JButton();
        txtMessage = new JTextArea();

        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        btnOK.setText("OK");
        btnOK.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                btnOKActionPerformed(evt);
            }
        });

        jPanel1.add(btnOK);

        getContentPane().add(jPanel1, BorderLayout.SOUTH);
        getContentPane().add(txtMessage, BorderLayout.CENTER);

        setSize (250, 300);
        setLocationRelativeTo (parent);
        
//        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
//        setBounds((screenSize.width-250)/2, (screenSize.height-300)/2, 250, 300);
    }

    private void btnOKActionPerformed(ActionEvent evt) {
        dispose();
    }
    
    public void setText (String message) {
        txtMessage.setText (message);
    }

    public void setText (String [] message) {
        txtMessage.setText("");

        for (int i = 0; i < message.length; i++) {
            txtMessage.append (message[i] + "\n");
        }
    }

    // Test main() -- for development and testing
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new ListDialog(new javax.swing.JFrame(), true).setVisible(true);
            }
        });
    }    
}
