Class QuickEmailFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by QuickEmailFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class QuickEmailFrame
extends javax.swing.JFrame

Main frame for QuickEmail GUI

Author:
Michael Latham
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JPanel contentPane
          Panel to hold GUI components
(package private)  boolean DEBUG_FLAG
          Flag passed into Session for debug info during delivery
private  javax.swing.JScrollPane jScrollPane1
          Screen component
private  boolean m_authReq
          Email server requires authentication
private  javax.swing.JTextArea m_bodyTA
          Email Body text field
private  javax.swing.JButton m_closeBtn
          Button to close QuickEmail
private  javax.swing.JLabel m_fromLbl
          Screen label
private  javax.swing.JTextField m_fromTF
          Email From text field
private  java.lang.String m_host
          Email server host address
private  javax.swing.JButton m_optionsBtn
          Button to invoke the Options dialog
private  javax.swing.JPasswordField m_password
          Email server login password
private  javax.swing.JButton m_sendBtn
          Button to send email
private  javax.swing.JLabel m_subjLbl
          Screen label
private  javax.swing.JTextField m_subjTF
          Email Subject text field
private  javax.swing.JLabel m_toLbl
          Screen label
private  javax.swing.JTextField m_toTF
          Email To text field
private  java.lang.String m_user
          Email server login user name
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
QuickEmailFrame()
          Default and only constructor
 
Method Summary
private  void addComponent(java.awt.Container container, java.awt.Component c, int x, int y, int width, int height)
          Add Component Without a Layout Manager (Absolute Positioning)
private  java.io.LineNumberReader createDatFile()
          Create and return the config dat file
private  java.io.LineNumberReader getFileReader(java.lang.String fileName)
          Open and return a LineNumberReader for the given filename
private  void initializeComponent()
          Initialize GUI components
private  void loadDatFileToScreen(java.io.LineNumberReader fr)
          Read contents of config file and display on the GUI
private  void m_closeBtn_mouseClicked(java.awt.event.MouseEvent me)
          Close button handler - closes application
private  void m_optionsBtn_mouseClicked(java.awt.event.MouseEvent me)
          Options button handler - invokes Options dialog
private  void m_sendBtn_mouseClicked(java.awt.event.MouseEvent me)
          Send button handler - does the work to send the email
static void main(java.lang.String[] args)
          Instantiates class as a standalone application
private  void parseConfigLine(java.lang.String line)
          Parse a line of the config file and add data to the GUI
private  void postInitialization()
          Extra initialization after components have been setup, like getting current options
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

DEBUG_FLAG

final boolean DEBUG_FLAG
Flag passed into Session for debug info during delivery

See Also:
Constant Field Values

m_fromLbl

private javax.swing.JLabel m_fromLbl
Screen label


m_toLbl

private javax.swing.JLabel m_toLbl
Screen label


m_subjLbl

private javax.swing.JLabel m_subjLbl
Screen label


m_fromTF

private javax.swing.JTextField m_fromTF
Email From text field


m_toTF

private javax.swing.JTextField m_toTF
Email To text field


m_subjTF

private javax.swing.JTextField m_subjTF
Email Subject text field


m_bodyTA

private javax.swing.JTextArea m_bodyTA
Email Body text field


jScrollPane1

private javax.swing.JScrollPane jScrollPane1
Screen component


m_sendBtn

private javax.swing.JButton m_sendBtn
Button to send email


m_closeBtn

private javax.swing.JButton m_closeBtn
Button to close QuickEmail


m_optionsBtn

private javax.swing.JButton m_optionsBtn
Button to invoke the Options dialog


contentPane

private javax.swing.JPanel contentPane
Panel to hold GUI components


m_host

private java.lang.String m_host
Email server host address


m_authReq

private boolean m_authReq
Email server requires authentication


m_user

private java.lang.String m_user
Email server login user name


m_password

private javax.swing.JPasswordField m_password
Email server login password

Constructor Detail

QuickEmailFrame

public QuickEmailFrame()
Default and only constructor

Method Detail

initializeComponent

private void initializeComponent()
Initialize GUI components


addComponent

private void addComponent(java.awt.Container container,
                          java.awt.Component c,
                          int x,
                          int y,
                          int width,
                          int height)
Add Component Without a Layout Manager (Absolute Positioning)

Parameters:
container - Container to which to add component
c - Component to add to container
x - X coordinate position for component in container
y - Y coordinate position for component in container
width - width of component
height - height of component

postInitialization

private void postInitialization()
Extra initialization after components have been setup, like getting current options


getFileReader

private java.io.LineNumberReader getFileReader(java.lang.String fileName)
Open and return a LineNumberReader for the given filename

Parameters:
fileName - File path and name to open for reading - FILE MUST EXIST
Returns:
Line number reader object

createDatFile

private java.io.LineNumberReader createDatFile()
Create and return the config dat file

Returns:
line reader attached to new config dat file, or null

loadDatFileToScreen

private void loadDatFileToScreen(java.io.LineNumberReader fr)
Read contents of config file and display on the GUI

Parameters:
fr - Line number reader already attached to file

parseConfigLine

private void parseConfigLine(java.lang.String line)
Parse a line of the config file and add data to the GUI

Parameters:
line - data from file to parse

m_sendBtn_mouseClicked

private void m_sendBtn_mouseClicked(java.awt.event.MouseEvent me)
Send button handler - does the work to send the email

Parameters:
me - Mouse event object

m_closeBtn_mouseClicked

private void m_closeBtn_mouseClicked(java.awt.event.MouseEvent me)
Close button handler - closes application

Parameters:
me - Mouse event object

m_optionsBtn_mouseClicked

private void m_optionsBtn_mouseClicked(java.awt.event.MouseEvent me)
Options button handler - invokes Options dialog

Parameters:
me - Mouse event object

main

public static void main(java.lang.String[] args)
Instantiates class as a standalone application

Parameters:
args - Argument list (none at this time)