001 package com.croftsoft.apps.agoracast.c2p;
002
003 import java.awt.*;
004 import java.awt.event.*;
005 import java.io.*;
006 import javax.swing.*;
007
008 import com.croftsoft.core.gui.LicenseFrame;
009 import com.croftsoft.core.lang.ClassLib;
010 import com.croftsoft.core.util.log.PrintStreamLog;
011
012 /*********************************************************************
013 * The main class for Agoracast C2P.
014 *
015 * <p />
016 *
017 * @version
018 * 2002-01-27
019 * @since
020 * 2001-05-17
021 * @author
022 * <a href="http://croftsoft.com/">David Wallace Croft</a>
023 *********************************************************************/
024
025 public final class Agoracast
026 implements ActionListener, AgoracastConstants, Runnable
027 //////////////////////////////////////////////////////////////////////
028 //////////////////////////////////////////////////////////////////////
029 {
030
031 private LicenseFrame licenseFrame;
032
033 //////////////////////////////////////////////////////////////////////
034 //////////////////////////////////////////////////////////////////////
035
036 public static void main ( String [ ] args )
037 throws IOException
038 //////////////////////////////////////////////////////////////////////
039 {
040 new Agoracast ( );
041 }
042
043 //////////////////////////////////////////////////////////////////////
044 //////////////////////////////////////////////////////////////////////
045
046 public Agoracast ( )
047 throws IOException
048 //////////////////////////////////////////////////////////////////////
049 {
050 String licenseAgreementText = null;
051
052 try
053 {
054 licenseAgreementText = ClassLib.getResourceAsText (
055 Agoracast.class, AgoracastConstants.LICENSE_FILENAME );
056 }
057 catch ( IOException ex )
058 {
059 System.err.println (
060 "Failure loading " + AgoracastConstants.LICENSE_FILENAME );
061
062 throw ex;
063 }
064
065 Image frameIconImage = null;
066
067 try
068 {
069 frameIconImage = ClassLib.getResourceAsImage ( Agoracast.class,
070 AgoracastConstants.LICENSE_FRAME_ICON_IMAGE_NAME );
071 }
072 catch ( Exception ex )
073 {
074 System.err.println ( "Failure loading "
075 + AgoracastConstants.LICENSE_FRAME_ICON_IMAGE_NAME );
076
077 ex.printStackTrace ( );
078 }
079
080 Image splashImage = null;
081
082 try
083 {
084 splashImage = ClassLib.getResourceAsImage ( Agoracast.class,
085 AgoracastConstants.SPLASH_IMAGE_NAME );
086 }
087 catch ( Exception ex )
088 {
089 System.err.println ( "Failure loading "
090 + AgoracastConstants.SPLASH_IMAGE_NAME );
091
092 ex.printStackTrace ( );
093 }
094
095 licenseFrame = new LicenseFrame (
096 licenseAgreementText,
097 this,
098 ( ActionListener ) null,
099 ( Color ) null,
100 LICENSE_FRAME_TITLE,
101 ( Dimension ) null,
102 frameIconImage,
103 splashImage );
104
105 licenseFrame.setVisible ( true );
106 }
107
108 //////////////////////////////////////////////////////////////////////
109 //////////////////////////////////////////////////////////////////////
110
111 public void actionPerformed ( ActionEvent actionEvent )
112 //////////////////////////////////////////////////////////////////////
113 {
114 SwingUtilities.invokeLater ( this );
115 }
116
117 public void run ( )
118 //////////////////////////////////////////////////////////////////////
119 {
120 // Consider loading documentation only when needed.
121
122 String documentationText = "Documenation not found.";
123
124 try
125 {
126 documentationText = ClassLib.getResourceAsText (
127 Agoracast.class, AgoracastConstants.DOCUMENTATION_FILENAME );
128 }
129 catch ( Exception ex )
130 {
131 ex.printStackTrace ( );
132 }
133
134 AgoracastMediator agoracastMediator
135 = new AgoracastMediator ( );
136
137 agoracastMediator.init ( );
138
139 new AgoracastFrame (
140 agoracastMediator, documentationText ).setVisible ( true );
141
142 licenseFrame.setVisible ( false );
143
144 licenseFrame.dispose ( );
145
146 licenseFrame = null;
147 }
148
149 //////////////////////////////////////////////////////////////////////
150 //////////////////////////////////////////////////////////////////////
151 }