org.jdesktop.swingx.plaf.basic
Class BasicStatusBarUI

java.lang.Object
  extended by javax.swing.plaf.ComponentUI
      extended by org.jdesktop.swingx.plaf.StatusBarUI
          extended by org.jdesktop.swingx.plaf.basic.BasicStatusBarUI
Direct Known Subclasses:
MacOSXStatusBarUI, MetalStatusBarUI, WindowsClassicStatusBarUI, WindowsStatusBarUI

public class BasicStatusBarUI
extends StatusBarUI


Field Summary
static String AUTO_ADD_SEPARATOR
           
protected  MouseListener mouseListener
           
protected  MouseMotionListener mouseMotionListener
           
protected  PropertyChangeListener propertyChangeListener
           
protected  JXStatusBar statusBar
          The one and only JXStatusBar for this UI delegate
 
Constructor Summary
BasicStatusBarUI()
          Creates a new instance of BasicStatusBarUI
 
Method Summary
protected  BorderUIResource createBorder()
           
protected  LayoutManager createLayout()
           
protected  MouseListener createMouseListener()
          Creates a MouseListener which will be added to the status bar.
protected  MouseMotionListener createMouseMotionListener()
          Creates a MouseMotionListener which will be added to the status bar.
protected  PropertyChangeListener createPropertyChangeListener()
          Creates a PropertyChangeListener which will be added to the status bar.
static ComponentUI createUI(JComponent c)
          Returns an instance of the UI delegate for the specified component.
protected  Insets getSeparatorInsets(Insets insets)
           
protected  int getSeparatorWidth()
           
protected  boolean includeSeparators()
           
protected  void installDefaults(JXStatusBar sb)
           
protected  void installListeners(JXStatusBar sb)
          Create and install the listeners for the status bar.
 void installUI(JComponent c)
          Configures the specified component appropriate for the look and feel.
 void paint(Graphics g, JComponent c)
          Paints the specified component appropriate for the look and feel.
protected  void paintBackground(Graphics2D g, JXStatusBar bar)
           
protected  void paintSeparator(Graphics2D g, JXStatusBar bar, int x, int y, int w, int h)
           
protected  void uninstallDefaults(JXStatusBar sb)
           
protected  void uninstallListeners(JXStatusBar sb)
          Remove the installed listeners from the status bar.
 void uninstallUI(JComponent c)
          Reverses configuration which was done on the specified component during installUI.
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getMinimumSize, getPreferredSize, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AUTO_ADD_SEPARATOR

public static final String AUTO_ADD_SEPARATOR

statusBar

protected JXStatusBar statusBar
The one and only JXStatusBar for this UI delegate


mouseListener

protected MouseListener mouseListener

mouseMotionListener

protected MouseMotionListener mouseMotionListener

propertyChangeListener

protected PropertyChangeListener propertyChangeListener
Constructor Detail

BasicStatusBarUI

public BasicStatusBarUI()
Creates a new instance of BasicStatusBarUI

Method Detail

createUI

public static ComponentUI createUI(JComponent c)
Returns an instance of the UI delegate for the specified component. Each subclass must provide its own static createUI method that returns an instance of that UI delegate subclass. If the UI delegate subclass is stateless, it may return an instance that is shared by multiple components. If the UI delegate is stateful, then it should return a new instance per component. The default implementation of this method throws an error, as it should never be invoked.


installUI

public void installUI(JComponent c)
Configures the specified component appropriate for the look and feel. This method is invoked when the ComponentUI instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:
  1. Install any default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
  2. Install a LayoutManager on the component if necessary.
  3. Create/add any required sub-components to the component.
  4. Create/install event listeners on the component.
  5. Create/install a PropertyChangeListener on the component in order to detect and respond to component property changes appropriately.
  6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
  7. Initialize any appropriate instance data.

Overrides:
installUI in class ComponentUI
Parameters:
c - the component where this UI delegate is being installed
See Also:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

installDefaults

protected void installDefaults(JXStatusBar sb)

createMouseListener

protected MouseListener createMouseListener()
Creates a MouseListener which will be added to the status bar. If this method returns null then it will not be added to the status bar.

Subclasses may override this method to return instances of their own MouseEvent handlers.

Returns:
an instance of a MouseListener or null

createMouseMotionListener

protected MouseMotionListener createMouseMotionListener()
Creates a MouseMotionListener which will be added to the status bar. If this method returns null then it will not be added to the status bar.

Subclasses may override this method to return instances of their own MouseEvent handlers.

Returns:
an instance of a MouseMotionListener or null

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()
Creates a PropertyChangeListener which will be added to the status bar. If this method returns null then it will not be added to the status bar.

Subclasses may override this method to return instances of their own PropertyChangeEvent handlers.

Returns:
an instance of a PropertyChangeListener or null

installListeners

protected void installListeners(JXStatusBar sb)
Create and install the listeners for the status bar. This method is called when the UI is installed.


uninstallUI

public void uninstallUI(JComponent c)
Reverses configuration which was done on the specified component during installUI. This method is invoked when this UIComponent instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI, being careful to leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:
  1. Remove any UI-set borders from the component.
  2. Remove any UI-set layout managers on the component.
  3. Remove any UI-added sub-components from the component.
  4. Remove any UI-added event/property listeners from the component.
  5. Remove any UI-installed keyboard UI from the component.
  6. Nullify any allocated instance data objects to allow for GC.

Overrides:
uninstallUI in class ComponentUI
Parameters:
c - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

uninstallDefaults

protected void uninstallDefaults(JXStatusBar sb)

uninstallListeners

protected void uninstallListeners(JXStatusBar sb)
Remove the installed listeners from the status bar. The number and types of listeners removed in this method should be the same that were added in installListeners


paint

public void paint(Graphics g,
                  JComponent c)
Description copied from class: javax.swing.plaf.ComponentUI
Paints the specified component appropriate for the look and feel. This method is invoked from the ComponentUI.update method when the specified component is being painted. Subclasses should override this method and use the specified Graphics object to render the content of the component.

Overrides:
paint in class ComponentUI
Parameters:
g - the Graphics context in which to paint
c - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components
See Also:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)

paintBackground

protected void paintBackground(Graphics2D g,
                               JXStatusBar bar)

paintSeparator

protected void paintSeparator(Graphics2D g,
                              JXStatusBar bar,
                              int x,
                              int y,
                              int w,
                              int h)

getSeparatorInsets

protected Insets getSeparatorInsets(Insets insets)

getSeparatorWidth

protected int getSeparatorWidth()

includeSeparators

protected boolean includeSeparators()

createBorder

protected BorderUIResource createBorder()

createLayout

protected LayoutManager createLayout()