nl.lxtreme.ols.util.swing.component
Class JErrorDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by nl.lxtreme.ols.util.swing.component.JErrorDialog
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants, StandardActionFactory.CloseAction.Closeable

public class JErrorDialog
extends JDialog
implements StandardActionFactory.CloseAction.Closeable

Provides an error dialog for displaying exceptions in a more friendly way.

This code is largely based on the JXErrorDialog code from the SwingX project. Some of that code is reshuffled and/or modified to fit into the architecture of OLS.

See Also:
Serialized Form

Nested Class Summary
static class JErrorDialog.IncidentInfo
          Provides a container with information about the incident.
 
Nested classes/interfaces inherited from class javax.swing.JDialog
JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
Dialog.AccessibleAWTDialog, Dialog.ModalExclusionType, Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static String PROPERTY_REPORT_INCIDENT_EMAIL_ADDRESS
          System property to read for the incident email address.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
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, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
protected JErrorDialog(Window aOwner, JErrorDialog.IncidentInfo aInfo)
          Create a new JErrorDialog with the given window as the owner.
 
Method Summary
 void close()
          Closes this dialog, effectively setting its visibilty to false and disposes it.
protected  JErrorDialog.IncidentInfo getIncidentInfo()
          Get curent dialog's IncidentInfo
static void installSwingExceptionHandler()
          Installs a Swing-capable default exception handler.
static void showDialog(Window aOwner, JErrorDialog.IncidentInfo aInfo)
          Show the error dialog.
static void showDialog(Window aOwner, String aTitle, String aErrorMessage, String aDetails)
          Show the error dialog.
static void showDialog(Window aOwner, String aTitle, Throwable aError)
          Constructs and shows the error dialog for the given exception.
static void uninstallSwingExceptionHandler()
          Uninstalls the default exception handler.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTY_REPORT_INCIDENT_EMAIL_ADDRESS

public static final String PROPERTY_REPORT_INCIDENT_EMAIL_ADDRESS
System property to read for the incident email address.

See Also:
Constant Field Values
Constructor Detail

JErrorDialog

protected JErrorDialog(Window aOwner,
                       JErrorDialog.IncidentInfo aInfo)
Create a new JErrorDialog with the given window as the owner.

Parameters:
aOwner - the Owner of this error dialog;
aInfo - the incident information to show, cannot be null.
Method Detail

installSwingExceptionHandler

public static void installSwingExceptionHandler()
Installs a Swing-capable default exception handler.

Calling this method will cause all uncaught exceptions, for which no exception handling is done, to be displayed in this error dialog.


showDialog

public static void showDialog(Window aOwner,
                              JErrorDialog.IncidentInfo aInfo)
Show the error dialog.

Parameters:
aOwner - Owner of this error dialog.
aInfo - IncidentInfo that incorporates all the information about the error

showDialog

public static void showDialog(Window aOwner,
                              String aTitle,
                              String aErrorMessage,
                              String aDetails)
Show the error dialog.

Parameters:
aOwner - the owner of this error dialog
aTitle - the title of the error dialog
aErrorMessage - the error message for the error dialog
aDetails - the details to be shown in the detail section of the dialog. This can be null if you do not want to display the details section of the dialog.

showDialog

public static void showDialog(Window aOwner,
                              String aTitle,
                              Throwable aError)
Constructs and shows the error dialog for the given exception. The exceptions message will be the errorMessage, and the stacktrace will be the details.

Parameters:
aOwner - Owner of this error dialog.
aTitle - Title of the error dialog
aError - Exception that contains information about the error cause and stack trace

uninstallSwingExceptionHandler

public static void uninstallSwingExceptionHandler()
Uninstalls the default exception handler.


close

public void close()
Description copied from interface: StandardActionFactory.CloseAction.Closeable
Closes this dialog, effectively setting its visibilty to false and disposes it.

Specified by:
close in interface StandardActionFactory.CloseAction.Closeable
See Also:
StandardActionFactory.CloseAction.Closeable.close()

getIncidentInfo

protected JErrorDialog.IncidentInfo getIncidentInfo()
Get curent dialog's IncidentInfo

Returns:
IncidentInfo assigned to this dialog


Copyright © 2012 L'Xtreme IT consultancy. All Rights Reserved.