Class AbstractApplicationFrame<T,​C extends javax.swing.JComponent>

  • Type Parameters:
    T - the generic type of the model object
    All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    Direct Known Subclasses:
    ApplicationFrame, ApplicationSplitPaneFrame

    public abstract class AbstractApplicationFrame<T,​C extends javax.swing.JComponent>
    extends BaseFrame<T>
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.jdesktop.swingx.JXFrame

        org.jdesktop.swingx.JXFrame.StartPosition
      • Nested classes/interfaces inherited from class javax.swing.JFrame

        javax.swing.JFrame.AccessibleJFrame
      • Nested classes/interfaces inherited from class java.awt.Frame

        java.awt.Frame.AccessibleAWTFrame
      • 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.JFrame

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Frame

        CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
      • 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
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.util.Optional<java.awt.image.BufferedImage> getIcon​(@NonNull java.lang.String iconPath)
      Factory method for create a new Optional object that contains a BufferedImage with the icon
      protected java.io.File newConfigurationDirectory​(@NonNull java.lang.String parent, @NonNull java.lang.String child)
      Factory method for create a new configuration directory File object if it is not exists.
      protected BaseDesktopMenu newDesktopMenu​(@NonNull java.awt.Component applicationFrame)
      Factory method for create a new BaseDesktopMenu object.
      protected abstract java.lang.String newIconPath()
      Abstact factory method that returns the path of the icon of the application
      protected javax.swing.JToolBar newJToolBar()
      Factory method for create a new JToolBar object
      protected LookAndFeels newLookAndFeels()
      Factory method for create a new LookAndFeels object
      protected abstract C newMainComponent()
      Factory method for create a new JComponent object
      protected void onAfterInitialize()
      Callback method to interact when the initialization of the component is finished.
      protected LookAndFeels setDefaultLookAndFeel​(@NonNull LookAndFeels lookAndFeels, java.awt.Component component)
      Sets the given LookAndFeels to the given Component and returns given LookAndFeels
      • Methods inherited from class org.jdesktop.swingx.JXFrame

        createRootPane, getCancelButton, getDefaultButton, getIdleThreshold, getKeyPreview, getRootPaneExt, getStartPosition, getStatusBar, getToolBar, getWaitPane, isIdle, isWaitCursorVisible, isWaiting, isWaitPaneVisible, setCancelButton, setCursor, setDefaultButton, setIdle, setIdleThreshold, setKeyPreview, setRootPane, setStartPosition, setStatusBar, setToolBar, setVisible, setWaitCursorVisible, setWaiting, setWaitPane, setWaitPaneVisible
      • Methods inherited from class javax.swing.JFrame

        addImpl, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Frame

        addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
      • 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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, show, toBack, 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, 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
      • Methods inherited from interface java.awt.MenuContainer

        getFont, postEvent
    • Constructor Detail

      • AbstractApplicationFrame

        public AbstractApplicationFrame​(java.lang.String title)
        Instantiates a new AbstractApplicationFrame
        Parameters:
        title - the title
    • Method Detail

      • getIcon

        protected java.util.Optional<java.awt.image.BufferedImage> getIcon​(@NonNull
                                                                           @NonNull java.lang.String iconPath)
        Factory method for create a new Optional object that contains a BufferedImage with the icon
        Parameters:
        iconPath - the icon path
        Returns:
        the icon
      • newConfigurationDirectory

        protected java.io.File newConfigurationDirectory​(@NonNull
                                                         @NonNull java.lang.String parent,
                                                         @NonNull
                                                         @NonNull java.lang.String child)
        Factory method for create a new configuration directory File object if it is not exists. This method is invoked in the constructor and can be overridden from the derived classes so users can provide their own version of a new configuration File object
        Parameters:
        parent - the parent
        child - the child
        Returns:
        the new configuration directory File object or the existing one
      • newDesktopMenu

        protected BaseDesktopMenu newDesktopMenu​(@NonNull
                                                 @NonNull java.awt.Component applicationFrame)
        Factory method for create a new BaseDesktopMenu object.
        Parameters:
        applicationFrame - the application frame
        Returns:
        the new BaseDesktopMenu object
      • newIconPath

        protected abstract java.lang.String newIconPath()
        Abstact factory method that returns the path of the icon of the application
        Returns:
        the path of the icon of the application as string
      • newJToolBar

        protected javax.swing.JToolBar newJToolBar()
        Factory method for create a new JToolBar object
        Returns:
        the new JToolBar object
      • newMainComponent

        protected abstract C newMainComponent()
        Factory method for create a new JComponent object
        Returns:
        the new JComponent object
      • onAfterInitialize

        protected void onAfterInitialize()
        Callback method to interact when the initialization of the component is finished.
        Overrides:
        onAfterInitialize in class BaseFrame<T>
      • setDefaultLookAndFeel

        protected LookAndFeels setDefaultLookAndFeel​(@NonNull
                                                     @NonNull LookAndFeels lookAndFeels,
                                                     java.awt.Component component)
        Sets the given LookAndFeels to the given Component and returns given LookAndFeels
        Parameters:
        lookAndFeels - the look and feels
        component - the component
        Returns:
        the current LookAndFeels