Package gr.zeus.ui

Class JMessage

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public final class JMessage
    extends javax.swing.JDialog
    This component is similar to javax.swing.JOptionPane component. It can be used to display message and error dialogs. The main features of JMessage are:
    • Displays simple messages and the stacktrace of an exception
    • Supports html text for messages with build-in plain text conversion
    • The dialogs are modal. In addition they stay on top of other windows at all times
    • Supports for JOptionPane OK,CANCEL,YES,NO buttons
    • Selects a default button in the dialog
    • Supports all JOptionPane messageType(s) & optionType(s)
    • Uses UI default icons or user supplied icons
    • Uses localized dialog titles and button text, or user supplied text
    • Returns dialog status depending on which button was pressed

    Since:
    1.40
    Author:
    Gregory Kotsaftis
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  JMessage.JMessageButtonEnum
      Enum with all the supported buttons of the dialog.
      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • 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 java.awt.image.ImageObserver

        ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      JMessage​(java.awt.Frame parent, java.lang.String message, java.lang.String frameTitle, int messageType, int optionType, JMessage.JMessageButtonEnum defaultButton, javax.swing.Icon ico, java.lang.Throwable ex, java.lang.String okText, java.lang.String cancelText, java.lang.String yesText, java.lang.String noText)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int getReturnStatus()
      Returns the status of the dialog depending on which button was pressed.
      static void showErrorMessage​(java.awt.Frame parent, java.lang.String message)
      Wrapper method for showMessageDialog().
      static void showErrorMessage​(java.awt.Frame parent, java.lang.String message, java.lang.Throwable ex)
      Wrapper method for showMessageDialog().
      static boolean showErrorQuestionMessageY​(java.awt.Frame parent, java.lang.String message, java.lang.Throwable ex)
      Shows a question window with YES/NO button options.
      static void showInfoMessage​(java.awt.Frame parent, java.lang.String message)
      Wrapper method for showMessageDialog().
      static void showInfoMessage​(java.awt.Frame parent, java.lang.String message, java.lang.Throwable ex)
      Wrapper method for showMessageDialog().
      static int showMessageDialog​(java.awt.Frame parent, java.lang.String message, int messageType, int optionType)
      Factory method, create-show-return.
      static int showMessageDialog​(java.awt.Frame parent, java.lang.String message, int messageType, int optionType, JMessage.JMessageButtonEnum defaultButton)
      Factory method, create-show-return.
      static int showMessageDialog​(java.awt.Frame parent, java.lang.String message, int messageType, int optionType, java.lang.Throwable ex)
      Factory method, create-show-return.
      static int showMessageDialog​(java.awt.Frame parent, java.lang.String message, java.lang.String frameTitle, int messageType, int optionType, JMessage.JMessageButtonEnum defaultButton, javax.swing.Icon ico, java.lang.Throwable ex, java.lang.String okText, java.lang.String cancelText, java.lang.String yesText, java.lang.String noText)
      Factory method, create-show-return.
      static boolean showQuestionMessageN​(java.awt.Frame parent, java.lang.String message)
      Wrapper method for showMessageDialog().
      static boolean showQuestionMessageY​(java.awt.Frame parent, java.lang.String message)
      Wrapper method for showMessageDialog().
      static void showWarningMessage​(java.awt.Frame parent, java.lang.String message)
      Wrapper method for showMessageDialog().
      static void showWarningMessage​(java.awt.Frame parent, java.lang.String message, java.lang.Throwable ex)
      Wrapper method for showMessageDialog().
      • 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, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • JMessage

        public JMessage​(java.awt.Frame parent,
                        java.lang.String message,
                        java.lang.String frameTitle,
                        int messageType,
                        int optionType,
                        JMessage.JMessageButtonEnum defaultButton,
                        javax.swing.Icon ico,
                        java.lang.Throwable ex,
                        java.lang.String okText,
                        java.lang.String cancelText,
                        java.lang.String yesText,
                        java.lang.String noText)
        Constructor. Creates fully customizable message dialog.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        frameTitle - The title for the frame, if null the default is used.
        messageType - Same as JOptionPane, one of: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
        optionType - Same as JOptionPane, one of: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION
        defaultButton - The default selected button for the dialog, if null the default for optionType will be selected.
        ico - The custom icon to use, null means no icon.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.
        okText - Ok button text, if null the default is used.
        cancelText - Cancel button text, if null the default is used.
        yesText - Yes button text, if null the default is used.
        noText - No button text, if null the default is used.
    • Method Detail

      • showErrorQuestionMessageY

        public static boolean showErrorQuestionMessageY​(java.awt.Frame parent,
                                                        java.lang.String message,
                                                        java.lang.Throwable ex)
        Shows a question window with YES/NO button options. Default button is YES. Also enables button to print the stacktrace of an exception. NOTE: On dialog close, it also returns false.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.

        Returns:
        true for YES, false for NO
      • showErrorMessage

        public static void showErrorMessage​(java.awt.Frame parent,
                                            java.lang.String message)
        Wrapper method for showMessageDialog(). Shows an error window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
      • showErrorMessage

        public static void showErrorMessage​(java.awt.Frame parent,
                                            java.lang.String message,
                                            java.lang.Throwable ex)
        Wrapper method for showMessageDialog(). Shows an error window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.
      • showWarningMessage

        public static void showWarningMessage​(java.awt.Frame parent,
                                              java.lang.String message)
        Wrapper method for showMessageDialog(). Shows a warning window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
      • showWarningMessage

        public static void showWarningMessage​(java.awt.Frame parent,
                                              java.lang.String message,
                                              java.lang.Throwable ex)
        Wrapper method for showMessageDialog(). Shows a warning window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.
      • showInfoMessage

        public static void showInfoMessage​(java.awt.Frame parent,
                                           java.lang.String message)
        Wrapper method for showMessageDialog(). Shows an info window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
      • showInfoMessage

        public static void showInfoMessage​(java.awt.Frame parent,
                                           java.lang.String message,
                                           java.lang.Throwable ex)
        Wrapper method for showMessageDialog(). Shows an info window with default button option.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.
      • showQuestionMessageN

        public static boolean showQuestionMessageN​(java.awt.Frame parent,
                                                   java.lang.String message)
        Wrapper method for showMessageDialog(). Shows a question window with YES/NO button options. Default button is NO, e.g. for use with delete confirmation dialogs. NOTE: On dialog close, it also returns false.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.

        Returns:
        true for YES, false for NO
      • showQuestionMessageY

        public static boolean showQuestionMessageY​(java.awt.Frame parent,
                                                   java.lang.String message)
        Wrapper method for showMessageDialog(). Shows a question window with YES/NO button options. Default button is YES, e.g. for use with save confirmation dialogs. NOTE: On dialog close, it also returns false.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.

        Returns:
        true for YES, false for NO
      • showMessageDialog

        public static int showMessageDialog​(java.awt.Frame parent,
                                            java.lang.String message,
                                            int messageType,
                                            int optionType)
        Factory method, create-show-return. Creates a dialog relative to parent frame using UI defaults for icon and a locale specific frame title.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        messageType - Same as JOptionPane, one of: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
        optionType - Same as JOptionPane, one of: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION

        Returns:
        The status of the dialog depending on which button was pressed. Same as JOptionPane, one of: CANCEL_OPTION, NO_OPTION, YES_OPTION, OK_OPTION or CLOSED_OPTION if the dialog was closed.
      • showMessageDialog

        public static int showMessageDialog​(java.awt.Frame parent,
                                            java.lang.String message,
                                            int messageType,
                                            int optionType,
                                            JMessage.JMessageButtonEnum defaultButton)
        Factory method, create-show-return. Creates a dialog relative to parent frame using UI defaults for icon and a locale specific frame title. Use JMessageButtonEnum to setup the default button.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        messageType - Same as JOptionPane, one of: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
        optionType - Same as JOptionPane, one of: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION
        defaultButton - The default selected button for the dialog, if null the default for optionType will be selected.

        Returns:
        The status of the dialog depending on which button was pressed. Same as JOptionPane, one of: CANCEL_OPTION, NO_OPTION, YES_OPTION, OK_OPTION or CLOSED_OPTION if the dialog was closed.
      • showMessageDialog

        public static int showMessageDialog​(java.awt.Frame parent,
                                            java.lang.String message,
                                            int messageType,
                                            int optionType,
                                            java.lang.Throwable ex)
        Factory method, create-show-return. Creates a dialog relative to parent frame using UI defaults for icon and a locale specific frame title. Also enables button to print the stacktrace of an exception.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        messageType - Same as JOptionPane, one of: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
        optionType - Same as JOptionPane, one of: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.

        Returns:
        The status of the dialog depending on which button was pressed. Same as JOptionPane, one of: CANCEL_OPTION, NO_OPTION, YES_OPTION, OK_OPTION or CLOSED_OPTION if the dialog was closed.
      • showMessageDialog

        public static int showMessageDialog​(java.awt.Frame parent,
                                            java.lang.String message,
                                            java.lang.String frameTitle,
                                            int messageType,
                                            int optionType,
                                            JMessage.JMessageButtonEnum defaultButton,
                                            javax.swing.Icon ico,
                                            java.lang.Throwable ex,
                                            java.lang.String okText,
                                            java.lang.String cancelText,
                                            java.lang.String yesText,
                                            java.lang.String noText)
        Factory method, create-show-return. Creates fully customizable message dialog.

        Parameters:
        parent - The parent relative frame, can be null.
        message - The message to display, can be plain or html.
        frameTitle - The title for the frame, if null the default is used.
        messageType - Same as JOptionPane, one of: ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, or PLAIN_MESSAGE
        optionType - Same as JOptionPane, one of: DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION
        defaultButton - The default selected button for the dialog, if null the default for optionType will be selected.
        ico - The custom icon to use, null means no icon.
        ex - An exception to display it's stacktrace, null will disable the stacktrace button functionality.
        okText - Ok button text, if null the default is used.
        cancelText - Cancel button text, if null the default is used.
        yesText - Yes button text, if null the default is used.
        noText - No button text, if null the default is used.

        Returns:
        The status of the dialog depending on which button was pressed. Same as JOptionPane, one of: CANCEL_OPTION, NO_OPTION, YES_OPTION, OK_OPTION or CLOSED_OPTION if the dialog was closed.
      • getReturnStatus

        public int getReturnStatus()
        Returns the status of the dialog depending on which button was pressed.

        Returns:
        Same as JOptionPane, one of: CANCEL_OPTION, NO_OPTION, YES_OPTION, OK_OPTION or CLOSED_OPTION if the dialog was closed.