mev-4.0.01/source/org/tigr/microarray/mev/cluster/gui/impl/dialogs/ListDialog.java

Code
Comments
Other
Rev Date Author Line
2 26 Feb 07 jari 1 /*
2 26 Feb 07 jari 2 Copyright @ 1999-2004, The Institute for Genomic Research (TIGR).
2 26 Feb 07 jari 3 All rights reserved.
2 26 Feb 07 jari 4 */
2 26 Feb 07 jari 5 /*
2 26 Feb 07 jari 6  * $RCSfile: ListDialog.java,v $
2 26 Feb 07 jari 7  * $Revision: 1.3 $
2 26 Feb 07 jari 8  * $Date: 2006/02/23 20:59:50 $
2 26 Feb 07 jari 9  * $Author: caliente $
2 26 Feb 07 jari 10  * $State: Exp $
2 26 Feb 07 jari 11  */
2 26 Feb 07 jari 12 package org.tigr.microarray.mev.cluster.gui.impl.dialogs;
2 26 Feb 07 jari 13
2 26 Feb 07 jari 14 import java.awt.BorderLayout;
2 26 Feb 07 jari 15 import java.awt.Dimension;
2 26 Feb 07 jari 16 import java.awt.Frame;
2 26 Feb 07 jari 17 import java.awt.GridBagConstraints;
2 26 Feb 07 jari 18 import java.awt.GridBagLayout;
2 26 Feb 07 jari 19 import java.awt.Insets;
2 26 Feb 07 jari 20 import java.awt.Toolkit;
2 26 Feb 07 jari 21 import java.awt.event.ActionEvent;
2 26 Feb 07 jari 22 import java.awt.event.ActionListener;
2 26 Feb 07 jari 23 import java.awt.event.WindowEvent;
2 26 Feb 07 jari 24
2 26 Feb 07 jari 25 import javax.swing.JButton;
2 26 Feb 07 jari 26 import javax.swing.JDialog;
2 26 Feb 07 jari 27 import javax.swing.JList;
2 26 Feb 07 jari 28 import javax.swing.JPanel;
2 26 Feb 07 jari 29 import javax.swing.JScrollPane;
2 26 Feb 07 jari 30
2 26 Feb 07 jari 31 public class ListDialog extends JDialog {
2 26 Feb 07 jari 32
2 26 Feb 07 jari 33     /**
2 26 Feb 07 jari 34      * Constructs the dialog with specified title and info to be 
2 26 Feb 07 jari 35      * inserted into a list.
2 26 Feb 07 jari 36      */
2 26 Feb 07 jari 37     public ListDialog(Frame frame, String title, Object[] info) {
2 26 Feb 07 jari 38         super(frame, title, true);
2 26 Feb 07 jari 39         Listener listener = new Listener();
2 26 Feb 07 jari 40         addWindowListener(listener);
2 26 Feb 07 jari 41
2 26 Feb 07 jari 42         JPanel listPanel = createListPanel(info);
2 26 Feb 07 jari 43         JPanel btnsPanel = createBtnsPanel(listener);
2 26 Feb 07 jari 44
2 26 Feb 07 jari 45         getContentPane().setLayout(new GridBagLayout());
2 26 Feb 07 jari 46         getContentPane().add(listPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
2 26 Feb 07 jari 47                                                                     ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
2 26 Feb 07 jari 48         getContentPane().add(btnsPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 0.0
2 26 Feb 07 jari 49                                                                ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(4, 8, 4, 8), 0, 0));
2 26 Feb 07 jari 50         pack();
2 26 Feb 07 jari 51     }
2 26 Feb 07 jari 52
2 26 Feb 07 jari 53     /**
2 26 Feb 07 jari 54      * Creates a panel with JList.
2 26 Feb 07 jari 55      * @param info the array of objects to inserted into a list.
2 26 Feb 07 jari 56      */
2 26 Feb 07 jari 57     private JPanel createListPanel(Object[] info) {
2 26 Feb 07 jari 58         JPanel panel = new JPanel(new BorderLayout());
2 26 Feb 07 jari 59         JList list = new JList(info);
2 26 Feb 07 jari 60         JScrollPane scroll = new JScrollPane(list);
2 26 Feb 07 jari 61         scroll.setPreferredSize(new Dimension(300, 200));
2 26 Feb 07 jari 62         panel.add(scroll, BorderLayout.CENTER);
2 26 Feb 07 jari 63         return panel;
2 26 Feb 07 jari 64     }
2 26 Feb 07 jari 65
2 26 Feb 07 jari 66     /**
2 26 Feb 07 jari 67      * Creates a panel with 'ok' button.
2 26 Feb 07 jari 68      */
2 26 Feb 07 jari 69     private JPanel createBtnsPanel(ActionListener listener) {
2 26 Feb 07 jari 70         JPanel panel = new JPanel();
2 26 Feb 07 jari 71
2 26 Feb 07 jari 72         JButton okButton = new JButton("OK");
2 26 Feb 07 jari 73         okButton.setActionCommand("ok-command");
2 26 Feb 07 jari 74         okButton.addActionListener(listener);
2 26 Feb 07 jari 75         panel.add(okButton);
2 26 Feb 07 jari 76
2 26 Feb 07 jari 77         getRootPane().setDefaultButton(okButton);
2 26 Feb 07 jari 78
2 26 Feb 07 jari 79         return panel;
2 26 Feb 07 jari 80     }
2 26 Feb 07 jari 81
2 26 Feb 07 jari 82     /**
2 26 Feb 07 jari 83      * Shows the dialog.
2 26 Feb 07 jari 84      */
2 26 Feb 07 jari 85     public void showModal() {
2 26 Feb 07 jari 86         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
2 26 Feb 07 jari 87         setLocation((screenSize.width - getSize().width)/2, (screenSize.height - getSize().height)/2);
2 26 Feb 07 jari 88         show();
2 26 Feb 07 jari 89     }
2 26 Feb 07 jari 90
2 26 Feb 07 jari 91     /**
2 26 Feb 07 jari 92      * The class to listen to action and window events.
2 26 Feb 07 jari 93      */
2 26 Feb 07 jari 94     private class Listener extends DialogListener {
2 26 Feb 07 jari 95
2 26 Feb 07 jari 96         public void actionPerformed(ActionEvent e) {
2 26 Feb 07 jari 97             dispose();
2 26 Feb 07 jari 98         }
2 26 Feb 07 jari 99
2 26 Feb 07 jari 100         public void windowClosing(WindowEvent e) {
2 26 Feb 07 jari 101             dispose();
2 26 Feb 07 jari 102         }
2 26 Feb 07 jari 103     }
2 26 Feb 07 jari 104
2 26 Feb 07 jari 105 }