Class JXFrame

  • All Implemented Interfaces:
    ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
    Direct Known Subclasses:
    JXLoginPane.JXLoginFrame

    public class JXFrame
    extends JFrame

    JXFrame is an enhanced JFrame. While JXFrame can replace any JFrame, it has features that make it particularly useful as the "main" frame for an application.

    Additional Features

    Root pane: JXFrame uses JXRootPane as its default root pane. The frame provide several convenience methods to provide easy access to the additional features.

    Idle: JXFrame offers an idle timer. Registering a PropertyChangeListener for "idle" will notify when the user has not interacted with the JVM. A primary use for this type of functionality is to secure the application, blocking access and requiring the user to login again.

    Wait (busy) glass pane: The JXFrame can be configured with an alternate glass pane. Typically, this glass pane is used to notify the user that the application is busy, but the glass pane could be for any purpose. This secondary glass pane can be quickly enabled or disabled by setting the wait pane visible.

    Author:
    unascribed from JDNC
    See Also:
    Serialized Form
    • Constructor Detail

      • JXFrame

        public JXFrame()
        Creates a JXFrame with no title and standard closing behavior.
      • JXFrame

        public JXFrame​(String title)
        Creates a JXFrame with the specified title and default closing behavior.
        Parameters:
        title - the frame title
      • JXFrame

        public JXFrame​(String title,
                       boolean exitOnClose)
        Creates a JXFrame with the specified title and closing behavior.
        Parameters:
        title - the frame title
        exitOnClose - true to override the default (JFrame) closing behavior and use EXIT_ON_CLOSE instead; false to use the default behavior
    • Method Detail

      • getCancelButton

        public JButton getCancelButton()
        Returns the value of the cancel button property from the underlying JXRootPane.
        Returns:
        the JButton which is the cancel button
        See Also:
        #setCancelButton(), JXRootPane.getCancelButton()
      • setKeyPreview

        public void setKeyPreview​(boolean flag)
        If enabled the KeyListeners will receive a preview of the KeyEvent prior to normal viewing.
        Parameters:
        flag - true to enable previewing; false otherwise
        See Also:
        getKeyPreview(), Component.addKeyListener(KeyListener)
      • getKeyPreview

        public final boolean getKeyPreview()
        Returns the value for the key preview.
        Returns:
        if true previewing is enabled; otherwise it is not
        See Also:
        setKeyPreview(boolean)
      • setStartPosition

        public void setStartPosition​(JXFrame.StartPosition position)
        Sets the start position for this frame. Setting this value only has an effect is the frame has never been displayed.
        Parameters:
        position - the position to display the frame at
        See Also:
        getStartPosition(), setVisible(boolean)
      • setWaitCursorVisible

        public void setWaitCursorVisible​(boolean flag)
        Switches the display cursor to or from the wait cursor.
        Parameters:
        flag - true to enable the wait cursor; false to enable the previous cursor
        See Also:
        isWaitCursorVisible(), Cursor.WAIT_CURSOR
      • isWaitCursorVisible

        public boolean isWaitCursorVisible()
        Returns the state of the wait cursor visibility.
        Returns:
        true if the current cursor is the wait cursor; false otherwise
      • setWaitPane

        public void setWaitPane​(Component c)
        Sets the component to use as a wait glass pane. This component is not part of the display hierarchy unless isWaitPaneVisible() == true.
        Parameters:
        c - the wait glass pane for this frame
        See Also:
        getWaitPane(), setWaitPaneVisible(boolean)
      • getWaitPane

        public Component getWaitPane()
        Returns the current wait pane for this frame. This component may or may not be part of the display hierarchy.
        Returns:
        the current wait pane
        See Also:
        setWaitPane(Component)
      • setWaitPaneVisible

        public void setWaitPaneVisible​(boolean flag)
        Enabled or disabled the display of the normal or wait glass pane. If true the wait pane is be displayed. Altering this property alters the display hierarchy.
        Parameters:
        flag - true to display the wait glass pane; false to display the normal glass pane
        See Also:
        isWaitPaneVisible(), setWaitPane(Component)
      • isWaitPaneVisible

        public boolean isWaitPaneVisible()
        Returns the current visibility of the wait glass pane.
        Returns:
        true if the wait glass pane is visible; false otherwise
      • isWaiting

        public boolean isWaiting()
        Determines if the frame is in a wait state or not.
        Returns:
        true if the frame is in the wait state; false otherwise
        See Also:
        setWaiting(boolean)
      • setVisible

        public void setVisible​(boolean visible)
        Overrides:
        setVisible in class Window
      • isIdle

        public boolean isIdle()
      • setIdle

        public void setIdle​(boolean idle)
        Sets the frame into an idle state or restores the frame from an idle state.
        Parameters:
        waiting - true to place the frame in an idle state; false otherwise
        See Also:
        isIdle(), setIdleThreshold(long)
      • setIdleThreshold

        public void setIdleThreshold​(long threshold)
        Sets a threshold for user interaction before automatically placing the frame in an idle state.
        Parameters:
        threshold - the time (in milliseconds) to elapse before setting the frame idle
        See Also:
        getIdleThreshold(), setIdle(boolean)
      • getIdleThreshold

        public long getIdleThreshold()
        Returns the amount of time that must elapse before the frame automatically enters an idle state.
        Returns:
        the time in milliseconds
      • setRootPane

        public void setRootPane​(JRootPane root)
        Overridden to make this public.
        Overrides:
        setRootPane in class JFrame
      • getRootPaneExt

        public JXRootPane getRootPaneExt()
        Return the extended root pane. If this frame doesn't contain an extended root pane the root pane should be accessed with getRootPane().
        Returns:
        the extended root pane or null.