Class SwingMessageOutput

  • All Implemented Interfaces:
    MessageOutput

    public class SwingMessageOutput
    extends Object
    implements MessageOutput

    A Swing specific implementation of the MessageOutput interface.

    This implementation makes use of JOptionPane for displaying message boxes.

    Version:
    $Id: SwingMessageOutput.java 205 2012-01-29 18:29:57Z oheger $
    Author:
    Oliver Heger
    • Field Detail

      • NO_LINE_WRAP

        public static final int NO_LINE_WRAP
        Constant for a line length which disables line wrapping. If this value is passed to the constructor, the message text is not wrapped into multiple lines.
        Since:
        1.3
        See Also:
        Constant Field Values
    • Constructor Detail

      • SwingMessageOutput

        public SwingMessageOutput()
        Creates a new instance of SwingMessageOutput and sets a default maximum line length.
      • SwingMessageOutput

        public SwingMessageOutput​(int maxLineLength)
        Creates a new instance of SwingMessageOutput with the specified maximum message line length. Before the message is displayed, it is ensured that single lines do not exceed this maximum length; if necessary, the text is split into multiple lines. To disable line wrapping, the value NO_LINE_WRAP can be passed.
        Parameters:
        maxLineLength - the maximum length of a line for the message text (in characters); must be > 0
        Throws:
        IllegalArgumentException - if an invalid line length is passed in
        Since:
        1.3
    • Method Detail

      • getMaximumLineLength

        public int getMaximumLineLength()
        Returns the maximum line length for the messages to be displayed.
        Returns:
        the maximum line length
        Since:
        1.3
      • show

        public int show​(Window parent,
                        Object message,
                        String title,
                        int messageType,
                        int buttonType)
        Displays a message box.
        Specified by:
        show in interface MessageOutput
        Parameters:
        parent - the parent window; this should be null or point to a Swing window
        message - the message
        title - the message box's title
        messageType - the type of the message
        buttonType - specifies the buttons to be displayed
        Returns:
        the pressed button
      • convertMessageType

        protected int convertMessageType​(int type)
        Converts the passed in message type into the corresponding type used by JOptionPane.
        Parameters:
        type - the type to be converted
        Returns:
        the corresponding Swing constant
      • convertButtonType

        protected int convertButtonType​(int type)
        Converts the passed in button type into the corresponding option type used by JOptionPane.
        Parameters:
        type - the type to be converted
        Returns:
        the corresponding Swing constant
      • convertReturnValue

        protected int convertReturnValue​(int value)
        Converts the passed in return value from the JOptionPane to the corresponding RET_XXXX constant.
        Parameters:
        value - the return value from the option pane
        Returns:
        the corresponding RET_XXXX constant
      • createOptionPane

        protected JOptionPane createOptionPane​(Window parent,
                                               Object message,
                                               String title,
                                               int messageType,
                                               int optionType)
        Creates the option pane dialog for displaying the message box.
        Parameters:
        parent - the parent window
        message - the message
        title - the title
        messageType - the message type
        optionType - the option type
        Returns:
        the option pane
      • showPane

        protected Object showPane​(JOptionPane pane,
                                  JDialog dialog)
        Displays the given option pane. This method is called after the pane has been created and initialized.
        Parameters:
        pane - the pane to display
        dialog - the dialog obtained from the option pane
        Returns:
        the return value of the pane (indicating the option selected by the user)
      • createDialog

        protected JDialog createDialog​(JOptionPane pane,
                                       Window parent,
                                       String title)
        Creates the dialog from the option pane. This is the component that is to be displayed.
        Parameters:
        pane - the option pane
        parent - the parent component
        title - the dialog's title
        Returns:
        the dialog to display