001 package com.croftsoft.apps.agoracast.c2p;
002
003 import java.awt.*;
004 import java.io.*;
005 import javax.swing.JFrame;
006 import javax.swing.WindowConstants;
007
008 import com.croftsoft.core.gui.FrameManager;
009 import com.croftsoft.core.gui.ShutdownWindowListener;
010 import com.croftsoft.core.gui.WindowLib;
011 import com.croftsoft.core.io.FileLib;
012 import com.croftsoft.core.lang.ClassLib;
013 import com.croftsoft.core.lang.NullArgumentException;
014 import com.croftsoft.core.util.log.PrintStreamLog;
015
016 /*********************************************************************
017 * <p />
018 *
019 * @version
020 * 2001-08-06
021 * @since
022 * 2001-07-24
023 * @author
024 * <a href="http://croftsoft.com/">David Wallace Croft</a>
025 *********************************************************************/
026
027 public final class AgoracastFrame
028 extends JFrame
029 implements AgoracastConstants
030 //////////////////////////////////////////////////////////////////////
031 //////////////////////////////////////////////////////////////////////
032 {
033
034 public static void main ( String [ ] args )
035 throws IOException
036 //////////////////////////////////////////////////////////////////////
037 {
038 new AgoracastFrame ( new AgoracastMediator ( ), "" )
039 .setVisible ( true );
040 }
041
042 public AgoracastFrame (
043 AgoracastMediator agoracastMediator,
044 String documentationText )
045 //////////////////////////////////////////////////////////////////////
046 {
047 super ( FRAME_TITLE );
048
049 NullArgumentException.check ( agoracastMediator );
050
051 agoracastMediator.setParentFrame ( this );
052
053 setDefaultCloseOperation ( WindowConstants.DO_NOTHING_ON_CLOSE );
054
055 addWindowListener (
056 new ShutdownWindowListener ( agoracastMediator ) );
057
058 getContentPane ( ).add ( new AgoracastPanel (
059 agoracastMediator, documentationText, this ) );
060
061 Dimension size = Toolkit.getDefaultToolkit ( ).getScreenSize ( );
062
063 size.width *= 0.8;
064
065 size.height *= 0.8;
066
067 WindowLib.centerOnScreen ( this, size );
068
069 try
070 {
071 Image frameIconImage = ClassLib.getResourceAsImage (
072 AgoracastFrame.class, FRAME_ICON_IMAGE_NAME );
073
074 setIconImage ( frameIconImage );
075 }
076 catch ( IOException ex )
077 {
078 ex.printStackTrace ( );
079 }
080 }
081
082 //////////////////////////////////////////////////////////////////////
083 //////////////////////////////////////////////////////////////////////
084 }