Class JXFrame

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

@JavaBean 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:
  • Constructor Details

    • 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(GraphicsConfiguration gc)
      Creates a JXFrame in the specified GraphicsConfiguration of a screen device, a blank title and default closing behaviour.
      Parameters:
      gc - the GraphicsConfiguration that is used to construct the new Frame; if gc is null, the system default GraphicsConfiguration is assumed
      Throws:
      IllegalArgumentException - if gc is not from a screen device. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true.
    • JXFrame

      public JXFrame(String title, GraphicsConfiguration gc)
      Creates a JXFrame with the specified title, the specified GraphicsConfiguration of a screen device and default closing behaviour.
      Parameters:
      title - the title to be displayed in the frame's border. A null value is treated as an empty string, "".
      gc - the GraphicsConfiguration that is used to construct the new JFrame with; if gc is null, the system default GraphicsConfiguration is assumed
      Throws:
      IllegalArgumentException - if gc is not from a screen device. This exception is always thrown when GraphicsEnvironment.isHeadless() returns true.
    • 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
    • JXFrame

      public JXFrame(String title, GraphicsConfiguration gc, boolean exitOnClose)
      Creates a JXFrame with the specified title, GraphicsConfiguration and closing behavior.
      Parameters:
      title - the frame title
      gc - the GraphicsConfiguration of the target screen device. If gc is null, the system default GraphicsConfiguration is assumed.
      exitOnClose - true to override the default (JFrame) closing behavior and use EXIT_ON_CLOSE instead; false to use the default behavior
      Throws:
      IllegalArgumentException - if gc is not from a screen device.
  • Method Details

    • setCancelButton

      public void setCancelButton(JButton button)
      Sets the cancel button property on the underlying JXRootPane.
      Parameters:
      button - the JButton which is to be the cancel button
      See Also:
    • 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:
    • setDefaultButton

      public void setDefaultButton(JButton button)
      Sets the default button property on the underlying JRootPane.
      Parameters:
      button - the JButton which is to be the default button
      See Also:
    • getDefaultButton

      public JButton getDefaultButton()
      Returns the value of the default button property from the underlying JRootPane.
      Returns:
      the JButton which is the default button
      See Also:
    • 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

      public final boolean getKeyPreview()
      Returns the value for the key preview.
      Returns:
      if true previewing is enabled; otherwise it is not
      See Also:
    • 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

      public JXFrame.StartPosition getStartPosition()
      Returns the start position for this frame.
      Returns:
      the start position of the frame
      See Also:
    • 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

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

      public void setCursor(Cursor c)
      Overrides:
      setCursor in class Window
    • 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

      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:
    • 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

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

      public void setWaiting(boolean waiting)
      Sets the frame into a wait state or restores the frame from a wait state.
      Parameters:
      waiting - true to place the frame in a wait state; false otherwise
      See Also:
    • 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:
    • 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:
      idle - true to place the frame in an idle state; false otherwise
      See Also:
    • 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

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

      public void setStatusBar(JXStatusBar statusBar)
      Sets the status bar property on the underlying JXRootPane.
      Parameters:
      statusBar - the JXStatusBar which is to be the status bar
      See Also:
    • getStatusBar

      public JXStatusBar getStatusBar()
      Returns the value of the status bar property from the underlying JXRootPane.
      Returns:
      the JXStatusBar which is the current status bar
      See Also:
    • setToolBar

      public void setToolBar(JToolBar toolBar)
      Sets the tool bar property on the underlying JXRootPane.
      Parameters:
      toolBar - the JToolBar which is to be the tool bar
      See Also:
    • getToolBar

      public JToolBar getToolBar()
      Returns the value of the tool bar property from the underlying JXRootPane.
      Returns:
      the JToolBar which is the current tool bar
      See Also:
    • createRootPane

      protected JRootPane createRootPane()
      Overridden to create a JXRootPane.
      Overrides:
      createRootPane in class JFrame
    • 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.