001 /*
002 * About.java
003 *
004 * Copyright 2003 Sergio Anibal de Carvalho Junior
005 *
006 * This file is part of NeoBio.
007 *
008 * NeoBio is free software; you can redistribute it and/or modify it under the terms of
009 * the GNU General Public License as published by the Free Software Foundation; either
010 * version 2 of the License, or (at your option) any later version.
011 *
012 * NeoBio is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
013 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
014 * PURPOSE. See the GNU General Public License for more details.
015 *
016 * You should have received a copy of the GNU General Public License along with NeoBio;
017 * if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
018 * Boston, MA 02111-1307, USA.
019 *
020 * Proper attribution of the author as the source of the software would be appreciated.
021 *
022 * Sergio Anibal de Carvalho Junior mailto:sergioanibaljr@users.sourceforge.net
023 * Department of Computer Science http://www.dcs.kcl.ac.uk
024 * King's College London, UK http://www.kcl.ac.uk
025 *
026 * Please visit http://neobio.sourceforge.net
027 *
028 * This project was supervised by Professor Maxime Crochemore.
029 *
030 */
031
032 package neobio.gui;
033
034 import java.awt.*;
035 import java.awt.event.*;
036 import javax.swing.*;
037 import java.net.URL;
038
039 /**
040 * About screen.
041 *
042 * @author Sergio A. de Carvalho Jr.
043 */
044 public class AboutDialog extends JDialog
045 {
046 private JLabel image_label;
047
048 /**
049 * Creates a new instance of the About screen.
050 *
051 * @param parent the parent frame
052 */
053 public AboutDialog (Frame parent)
054 {
055 super (parent, true);
056 initComponents ();
057 pack ();
058 }
059
060 private void initComponents ()
061 {
062 URL image_filename;
063
064 setTitle ("About");
065 setResizable (false);
066 setDefaultCloseOperation (WindowConstants.DISPOSE_ON_CLOSE);
067
068 addWindowListener (new WindowAdapter ()
069 {
070 public void windowClosing (WindowEvent e)
071 {
072 closeDialog (e);
073 }
074 });
075
076 image_filename = getClass().getResource("icons/about.jpg");
077 if (image_filename != null)
078 {
079 image_label = new JLabel ();
080 image_label.setIcon(new ImageIcon(image_filename));
081 getContentPane().add(image_label, BorderLayout.CENTER);
082 }
083 }
084
085 private void closeDialog(WindowEvent e)
086 {
087 setVisible (false);
088 dispose ();
089 }
090 }