jaugment2.mail
Class JavaMailSwingRepresentation

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--jaugment2.mail.JavaMailSwingRepresentation

public class JavaMailSwingRepresentation
extends javax.swing.JPanel
implements net.jini.core.entry.Entry, SwingUIRepresentable, net.jini.core.event.RemoteEventListener

A SwingUI-Representation for the JavaMailService

See Also:
Serialized Form

Inner Class Summary
private  class JavaMailSwingRepresentation.copyMenuItemActionListener
          action-listerner for the menu-items in "copy to folder"
static class JavaMailSwingRepresentation.Factory
          A serializable factory for creating this UI
private  class JavaMailSwingRepresentation.FolderMessagesTableModel
          Model for the table showing the messages of a folder
private  class JavaMailSwingRepresentation.FolderTreeNode
          Tree-node representing a mail-folder
static class JavaMailSwingRepresentation.MailAddr
          helper-class
private  class JavaMailSwingRepresentation.MessageComparator
          compare Messages by date
 
Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  java.util.LinkedList allFolders
           
(package private)  java.awt.BorderLayout borderLayout2
           
(package private)  java.awt.CardLayout cardLayout1
           
(package private)  java.awt.CardLayout cardLayout2
           
(package private)  MailComposerPanel composepanel
           
(package private)  java.util.LinkedList composepanels
           
private  MailSender.MailSenderMessage curr_msg
           
private  java.util.LinkedList directories
           
private  JavaMailSwingRepresentation.FolderMessagesTableModel ftm
           
private  java.lang.Thread jbInitThread
          Thread doing the asyncronous part of creating our UI
(package private)  javax.swing.JMenu jMenuItem_copy
           
(package private)  javax.swing.JMenuItem jMenuItem_delete
           
(package private)  javax.swing.JMenuItem jMenuItem_read
           
(package private)  javax.swing.JMenuItem jMenuItem_reply
           
(package private)  javax.swing.JMenuItem jMenuItem_sign
           
(package private)  javax.swing.JPanel jPanel3
           
(package private)  javax.swing.JPopupMenu jPopupMenu1
           
(package private)  javax.swing.JScrollPane jScrollPane_folders
           
(package private)  javax.swing.JScrollPane jScrollPane_msg
           
(package private)  javax.swing.JSplitPane jSplitPaneFolderMessages
           
(package private)  javax.swing.JTabbedPane jTabbedPane1
           
(package private)  javax.swing.JTree jTree_folders
           
private  java.awt.event.MouseListener listSelectionListener
          React to selections of messages in the messages-table
private  net.jini.lease.LeaseRenewalManager lrm
           
(package private)  javax.swing.JTable messages_table
           
protected  MailSender proxy
           
(package private)  boolean showedAFolder
          Did we show a folder yet?
protected  TextEditorProxyIF textedit
           
private  javax.swing.event.TreeSelectionListener treeSelectionListener
          React to selections fo folders in the folders-tree
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
JavaMailSwingRepresentation(MailSender proxy)
          Constructor
 
Method Summary
private  javax.swing.tree.TreeModel getFolders()
          create a TreeModel for all of our accounts and folders
 javax.swing.JPanel getPanel()
           
(package private) static java.util.Set getServiceUIProperties()
          Gets a serviceui-draft-standart-compactible attribute-set of this representation
static net.jini.lookup.entry.UIDescriptor getUIDescriptor()
          Get a UIDescriptor as needed by the serviceui-draft-standart
private  void jbInit()
          Create UI.
(package private)  void jMenuItem_delete_actionPerformed(java.awt.event.ActionEvent evt)
          somebody wants to delete a message
 void notify(net.jini.core.event.RemoteEvent evt)
          React to events from our service.
private  void reply(MailSender.MailSenderMessage msg)
           
 void setFont(java.awt.Font f)
           
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, checkIfChildObscuredBySibling, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getCursorTarget, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setCursor, setFocusOwner, setLayout, transferFocus, updateCursor, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getIntrinsicCursor, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

proxy

protected MailSender proxy

textedit

protected TextEditorProxyIF textedit

lrm

private net.jini.lease.LeaseRenewalManager lrm

borderLayout2

java.awt.BorderLayout borderLayout2

jPopupMenu1

javax.swing.JPopupMenu jPopupMenu1

jMenuItem_read

javax.swing.JMenuItem jMenuItem_read

jMenuItem_reply

javax.swing.JMenuItem jMenuItem_reply

jMenuItem_delete

javax.swing.JMenuItem jMenuItem_delete

jMenuItem_sign

javax.swing.JMenuItem jMenuItem_sign

jMenuItem_copy

javax.swing.JMenu jMenuItem_copy

jTabbedPane1

javax.swing.JTabbedPane jTabbedPane1

jPanel3

javax.swing.JPanel jPanel3

cardLayout1

java.awt.CardLayout cardLayout1

cardLayout2

java.awt.CardLayout cardLayout2

jScrollPane_folders

javax.swing.JScrollPane jScrollPane_folders

jTree_folders

javax.swing.JTree jTree_folders

jSplitPaneFolderMessages

javax.swing.JSplitPane jSplitPaneFolderMessages

jScrollPane_msg

javax.swing.JScrollPane jScrollPane_msg

composepanels

java.util.LinkedList composepanels

allFolders

private java.util.LinkedList allFolders

composepanel

MailComposerPanel composepanel

jbInitThread

private java.lang.Thread jbInitThread
Thread doing the asyncronous part of creating our UI

showedAFolder

boolean showedAFolder
Did we show a folder yet?

treeSelectionListener

private javax.swing.event.TreeSelectionListener treeSelectionListener
React to selections fo folders in the folders-tree

ftm

private JavaMailSwingRepresentation.FolderMessagesTableModel ftm

messages_table

javax.swing.JTable messages_table

curr_msg

private MailSender.MailSenderMessage curr_msg

listSelectionListener

private java.awt.event.MouseListener listSelectionListener
React to selections of messages in the messages-table

directories

private java.util.LinkedList directories
Constructor Detail

JavaMailSwingRepresentation

public JavaMailSwingRepresentation(MailSender proxy)
Constructor
Method Detail

getUIDescriptor

public static net.jini.lookup.entry.UIDescriptor getUIDescriptor()
Get a UIDescriptor as needed by the serviceui-draft-standart

getServiceUIProperties

static java.util.Set getServiceUIProperties()
Gets a serviceui-draft-standart-compactible attribute-set of this representation

getPanel

public javax.swing.JPanel getPanel()
                            throws java.rmi.RemoteException
Specified by:
getPanel in interface SwingUIRepresentable

getFolders

private javax.swing.tree.TreeModel getFolders()
create a TreeModel for all of our accounts and folders

jbInit

private void jbInit()
             throws java.lang.Exception
Create UI.

setFont

public void setFont(java.awt.Font f)
Overrides:
setFont in class javax.swing.JComponent

reply

private void reply(MailSender.MailSenderMessage msg)

notify

public void notify(net.jini.core.event.RemoteEvent evt)
            throws net.jini.core.event.UnknownEventException,
                   java.rmi.RemoteException
React to events from our service.
Specified by:
notify in interface net.jini.core.event.RemoteEventListener

jMenuItem_delete_actionPerformed

void jMenuItem_delete_actionPerformed(java.awt.event.ActionEvent evt)
somebody wants to delete a message