Class AbstractDialog

  • Direct Known Subclasses:
    AbstractModalDialog, ModalDialog, ModelessDialog

    public abstract class AbstractDialog
    extends Object
    The AbstractDialog is the base class for ModalDialog and ModelessDialog, two helper classes used to quickly construct modal and modeless dialogs. The dialogs created with this class have a unique border and font and a standard button row for the typical buttons like "OK", "Cancel" etc.

    Instances of a modal dialog are created with a parent component, a title, the actual dialog content component, and a bit-combination of the standard buttons to be used.

    A limited way of input validation is provided by the verifyUserInput method which can be overridden in order to return false if a user input is invalid. In this case the onOK(), onYes() and onNo() methods are NOT called.

    • Constructor Detail

      • AbstractDialog

        protected AbstractDialog​(JDialog dialog,
                                 int buttonMask,
                                 Object[] otherButtons,
                                 String helpID)
    • Method Detail

      • getJDialog

        public JDialog getJDialog()
        Gets the underlying Swing dialog passed to the constructor.
        Returns:
        the underlying Swing dialog.
      • getParent

        public Window getParent()
        Gets the owner of the dialog.
        Returns:
        The owner of the dialog.
      • getTitle

        public String getTitle()
        Returns:
        The dialog's title.
      • setTitle

        public void setTitle​(String title)
        Parameters:
        title - The dialog's title.
      • getButtonMask

        public int getButtonMask()
        Gets the button mask passed to the constructor.
        Returns:
        The button mask.
      • getButtonID

        public int getButtonID()
        Gets the identifier for the most recently pressed button.
        Returns:
        The identifier for the most recently pressed button.
      • setButtonID

        protected void setButtonID​(int buttonID)
        Sets the identifier for the most recently pressed button.
        Parameters:
        buttonID - The identifier for the most recently pressed button.
      • getHelpID

        public String getHelpID()
        Gets the help identifier for the dialog.
        Returns:
        The help identifier.
      • setHelpID

        public void setHelpID​(String helpID)
        Sets the help identifier for the dialog.
        Parameters:
        helpID - The help identifier.
      • getButtonPanel

        public JPanel getButtonPanel()
      • getContent

        public Component getContent()
        Gets the dialog's content component.
        Returns:
        The dialog's content component.
      • setContent

        public void setContent​(Component content)
        Sets the dialog's content component.
        Parameters:
        content - The dialog's content component.
      • setContent

        public void setContent​(Object content)
        Sets the dialog's content.
        Parameters:
        content - The dialog's content.
      • getButton

        public AbstractButton getButton​(int buttonID)
        Gets the button for the given identifier.
        Parameters:
        buttonID - The button identifier.
        Returns:
        The button, or null.
      • show

        public int show()
        Shows the dialog. Overrides shall call super.show() at the end.
        Returns:
        the identifier of the last button pressed or zero if this is a modeless dialog.
      • hide

        public void hide()
        Hides the dialog. Overrides shall call super.hide() at the end. This method does nothing else than hiding the underlying Swing dialog.
        See Also:
        getJDialog()
      • close

        public abstract void close()
        This method is called, when the user clicks the close button of the dialog's top window bar. It can also be called directly. Override to implement the dialog's default close behaviour.
      • center

        public void center()
        Centers the dialog within its parent window.
      • showErrorDialog

        public void showErrorDialog​(String errorMessage)
        Shows an error dialog on top of this dialog.
        Parameters:
        errorMessage - The message.
      • showErrorDialog

        public void showErrorDialog​(String message,
                                    String title)
      • showErrorDialog

        public static void showErrorDialog​(Component component,
                                           String message,
                                           String dialogTitle)
      • showInformationDialog

        public void showInformationDialog​(String infoMessage)
        Shows an information dialog on top of this dialog.
        Parameters:
        infoMessage - The message.
      • showInformationDialog

        public void showInformationDialog​(String infoMessage,
                                          String title)
      • showInformationDialog

        public static void showInformationDialog​(Component component,
                                                 String message,
                                                 String dialogTitle)
      • showWarningDialog

        public void showWarningDialog​(String warningMessage)
        Shows a warning dialog on top of this dialog.
        Parameters:
        warningMessage - The message.
      • showWarningDialog

        public void showWarningDialog​(String warningMessage,
                                      String title)
      • showWarningDialog

        public static void showWarningDialog​(Component component,
                                             String message,
                                             String dialogTitle)
      • onOK

        protected void onOK()
        Called if the "OK" button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • onYes

        protected void onYes()
        Called if the "Yes" button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • onNo

        protected void onNo()
        Called if the "No" button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • onCancel

        protected void onCancel()
        Called if the "Cancel" button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • onApply

        protected void onApply()
        Called if the "Apply" button has been clicked. The default implementation does nothing. Clients should override this method to implement meaningful behaviour.
      • onClose

        protected void onClose()
        Called if the "Close" button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • onReset

        protected void onReset()
        Called if the reset button has been clicked. The default implementation does nothing. Clients should override this method to implement meaningful behaviour.
      • onHelp

        protected void onHelp()
        Called if the help button has been clicked. Clients should override this method to implement a different behaviour.
      • onOther

        protected void onOther()
        Called if a non-standard button has been clicked. The default implementation calls hide(). Clients should override this method to implement meaningful behaviour.
      • verifyUserInput

        protected boolean verifyUserInput()
        Called in order to perform input validation.
        Returns:
        true if and only if the validation was successful.
      • collectButtons

        protected void collectButtons​(List<AbstractButton> buttons)
        Called by the constructor in order to initialise the user interface. The default implementation does nothing.
        Parameters:
        buttons - The container into which new buttons shall be collected.
      • getQualifiedPropertyName

        protected String getQualifiedPropertyName​(String name)
      • registerButton

        protected void registerButton​(int buttonID,
                                      AbstractButton button)