Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jdesktop.swingx
Class JXPanel

    java.lang.Object
      java.awt.Component
          java.awt.Container
              javax.swing.JComponent
                  javax.swing.JPanel
                      org.jdesktop.swingx.JXPanel

All Implemented Interfaces:
  java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable

Direct Known Subclasses:
  AbstractPatternPanel, GradientPreviewPanel, JXCollapsiblePane, JXGradientChooser, JXGraph, JXHeader, JXImagePanel, JXImageView, JXLoginPane, JXTaskPaneContainer, JXTipOfTheDay, JXTitledPanel, JXTitledSeparator, SpinningCalendarHeaderHandler.SpinningCalendarHeader, WrappingIconPanel

    public class JXPanel

extends javax.swing.JPanel
implements javax.swing.Scrollable

An extended `JPanel` that provides additional features. First, the component is `Scrollable`, using reasonable defaults. Second, the component is alpha-channel enabled. This means that the `JXPanel` can be made fully or partially transparent. Finally, `JXPanel` has support for painters.

A transparency example, this following code will show the black background of the parent:

     JXPanel panel = new JXPanel();
     panel.add(new JButton("Push Me"));
     panel.setAlpha(.5f);

     container.setBackground(Color.BLACK);
     container.add(panel);

A painter example, this following code will show how to add a simple painter:

     JXPanel panel = new JXPanel();
     panel.setBackgroundPainter(new PinstripePainter());

Author:
  rbair
See Also:
  `Scrollable`, `Painter`, Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class javax.swing.JPanel
`javax.swing.JPanel.AccessibleJPanel`

Nested classes/interfaces inherited from class javax.swing.JComponent
`javax.swing.JComponent.AccessibleJComponent`

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.JComponent
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

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`

Constructor Summary
`JXPanel()` Creates a new `JXPanel` with a double buffer and a flow layout.
`JXPanel(boolean isDoubleBuffered)` Creates a new `JXPanel` with `FlowLayout` and the specified buffering strategy.
`JXPanel(java.awt.LayoutManager layout)` Create a new buffered JXPanel with the specified layout manager
`JXPanel(java.awt.LayoutManager layout, boolean isDoubleBuffered)` Creates a new JXPanel with the specified layout manager and buffering strategy.

Method Summary
`float` | `getAlpha()`
`Painter` | `getBackgroundPainter()` Returns the current background painter.
`float` | `getEffectiveAlpha()` Unlike other properties, alpha can be set on a component, or on one of its parents.
`protected java.beans.PropertyChangeListener` | `getPainterChangeListener()`
`java.awt.Dimension` | `getPreferredScrollableViewportSize()`
`int` | `getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)`
`protected ScrollableSizeHint` | `getScrollableHeightHint()`
`boolean` | `getScrollableTracksViewportHeight()`
`boolean` | `getScrollableTracksViewportWidth()`
`int` | `getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)`
`protected ScrollableSizeHint` | `getScrollableWidthHint()`
`boolean` | `isInheritAlpha()` Returns the state of the panel with respect to inheriting alpha values.
`boolean` | `isPaintBorderInsets()` Returns true if the background painter should paint where the border is or false if it should only paint inside the border.
`void` | `paint(java.awt.Graphics g)` Overridden paint method to take into account the alpha setting
`protected void` | `paintComponent(java.awt.Graphics g)` Overridden to provide Painter support.
`void` | `setAlpha(float alpha)` Set the alpha transparency level for this component.
`void` | `setBackground(java.awt.Color bg)` Sets the background color for this component by
`void` | `setBackgroundPainter(Painter p)` Sets a Painter to use to paint the background of this JXPanel.
`void` | `setInheritAlpha(boolean val)` Determines if the effective alpha of this component should include the alpha of ancestors.
`void` | `setPaintBorderInsets(boolean paintBorderInsets)` Sets the paintBorderInsets property.
`void` | `setScrollableHeightHint(ScrollableSizeHint hint)` Sets the vertical sizing hint.
`void` | `setScrollableTracksViewportHeight(boolean scrollableTracksViewportHeight)` Sets the vertical size tracking to either ScrollableSizeTrack.FIT or NONE, if the boolean parameter is true or false, respectively.
`void` | `setScrollableTracksViewportWidth(boolean scrollableTracksViewportWidth)` Sets the horizontal size tracking to either ScrollableSizeTrack.FIT or NONE, if the boolean parameter is true or false, respectively.
`void` | `setScrollableWidthHint(ScrollableSizeHint hint)` Sets the horizontal sizing hint.

Methods inherited from class javax.swing.JPanel
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods inherited from class javax.swing.JComponent
`addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

Methods inherited from class java.awt.Container
`add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### JXPanel

    public JXPanel()

  Creates a new `JXPanel` with a double buffer and a flow layout.

### JXPanel

    public JXPanel(boolean isDoubleBuffered)

  Creates a new `JXPanel` with `FlowLayout` and the specified buffering strategy. If `isDoubleBuffered` is true, the `JXPanel` will use a double buffer.

  Parameters:
    `isDoubleBuffered` - a boolean, true for double-buffering, which uses additional memory space to achieve fast, flicker-free updates

### JXPanel

    public JXPanel(java.awt.LayoutManager layout)

  Create a new buffered JXPanel with the specified layout manager

  Parameters:
    `layout` - the LayoutManager to use

### JXPanel

    public JXPanel(java.awt.LayoutManager layout,
                   boolean isDoubleBuffered)

  Creates a new JXPanel with the specified layout manager and buffering strategy.

  Parameters:
    `layout` - the LayoutManager to use
    `isDoubleBuffered` - a boolean, true for double-buffering, which uses additional memory space to achieve fast, flicker-free updates

Method Detail

### setAlpha

    public void setAlpha(float alpha)

  Set the alpha transparency level for this component. This automatically causes a repaint of the component.

  TODO add support for animated changes in translucency

  Parameters:
    `alpha` - must be a value between 0 and 1 inclusive.

### getAlpha

    public float getAlpha()

  Returns:
    the alpha translucency level for this component. This will be a value between 0 and 1, inclusive.

### getEffectiveAlpha

    public float getEffectiveAlpha()

  Unlike other properties, alpha can be set on a component, or on one of its parents. If the alpha of a parent component is .4, and the alpha on this component is .5, effectively the alpha for this component is .4 because the lowest alpha in the heirarchy "wins"

### isInheritAlpha

    public boolean isInheritAlpha()

  Returns the state of the panel with respect to inheriting alpha values.

  Returns:
    `true` if this panel inherits alpha values; `false` otherwise
  See Also:
    `setInheritAlpha(boolean)`

### setInheritAlpha

    public void setInheritAlpha(boolean val)

  Determines if the effective alpha of this component should include the alpha of ancestors.

  Parameters:
    `val` - `true` to include ancestral alpha data; `false` otherwise
  See Also:
    `isInheritAlpha()`, `getEffectiveAlpha()`

### setScrollableWidthHint

    public final void setScrollableWidthHint(ScrollableSizeHint hint)

  Sets the horizontal sizing hint. The hint is used by the Scrollable implementation to service the getScrollableTracksWidth.

  Parameters:
    `hint` - the horizontal sizing hint, must not be null and must be vertical.
  Throws:
    `java.lang.IllegalArgumentException` - if track not horizontal
    `java.lang.NullPointerException` - if null
  See Also:
    `setScrollableHeightHint(ScrollableSizeHint)`, `ScrollableSizeHint`

### setScrollableHeightHint

    public final void setScrollableHeightHint(ScrollableSizeHint hint)

  Sets the vertical sizing hint. The hint is used by the Scrollable implementation to service the getScrollableTracksHeight.

  Parameters:
    `hint` - the vertical sizing hint, must not be null and must be vertical.
  Throws:
    `java.lang.IllegalArgumentException` - if track not vertical
    `java.lang.NullPointerException` - if null
  See Also:
    `setScrollableWidthHint(ScrollableSizeHint)`, `ScrollableSizeHint`

### getScrollableWidthHint

    protected ScrollableSizeHint getScrollableWidthHint()

### getScrollableHeightHint

    protected ScrollableSizeHint getScrollableHeightHint()

### getScrollableTracksViewportHeight

    public boolean getScrollableTracksViewportHeight()

  Specified by:
    `getScrollableTracksViewportHeight` in interface `javax.swing.Scrollable`

### getScrollableTracksViewportWidth

    public boolean getScrollableTracksViewportWidth()

  Specified by:
    `getScrollableTracksViewportWidth` in interface `javax.swing.Scrollable`

### getPreferredScrollableViewportSize

    public java.awt.Dimension getPreferredScrollableViewportSize()

  Specified by:
    `getPreferredScrollableViewportSize` in interface `javax.swing.Scrollable`

### getScrollableBlockIncrement

    public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
                                           int orientation,
                                           int direction)

  Specified by:
    `getScrollableBlockIncrement` in interface `javax.swing.Scrollable`

### getScrollableUnitIncrement

    public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
                                          int orientation,
                                          int direction)

  Specified by:
    `getScrollableUnitIncrement` in interface `javax.swing.Scrollable`

### setScrollableTracksViewportHeight

    public void setScrollableTracksViewportHeight(boolean scrollableTracksViewportHeight)

  Sets the vertical size tracking to either ScrollableSizeTrack.FIT or NONE, if the boolean parameter is true or false, respectively.

  NOTE: this method is kept for backward compatibility only, for full control use setScrollableHeightHint.

  Parameters:
    `scrollableTracksViewportHeight` - The scrollableTracksViewportHeight to set.
  See Also:
    `setScrollableHeightHint(ScrollableSizeHint)`

### setScrollableTracksViewportWidth

    public void setScrollableTracksViewportWidth(boolean scrollableTracksViewportWidth)

  Sets the horizontal size tracking to either ScrollableSizeTrack.FIT or NONE, if the boolean parameter is true or false, respectively.

  NOTE: this method is kept for backward compatibility only, for full control use setScrollableWidthHint.

  Parameters:
    `scrollableTracksViewportWidth` - The scrollableTracksViewportWidth to set.
  See Also:
    `setScrollableWidthHint(ScrollableSizeHint)`

### setBackground

    public void setBackground(java.awt.Color bg)

  Sets the background color for this component by

  Overrides:
    `setBackground` in class `javax.swing.JComponent`
  Parameters:
    `bg` - the desired background `Color`
  See Also:
    `java.swing.JComponent#getBackground`, `JComponent.setOpaque(boolean)`

### setBackgroundPainter

    public void setBackgroundPainter(Painter p)

  Sets a Painter to use to paint the background of this JXPanel.

  Parameters:
    `p` - the new painter
  See Also:
    `getBackgroundPainter()`

### getPainterChangeListener

    protected java.beans.PropertyChangeListener getPainterChangeListener()

  Returns:

### getBackgroundPainter

    public Painter getBackgroundPainter()

  Returns the current background painter. The default value of this property is a painter which draws the normal JPanel background according to the current look and feel.

  Returns:
    the current painter
  See Also:
    `setBackgroundPainter(Painter)`, `isPaintBorderInsets()`

### isPaintBorderInsets

    public boolean isPaintBorderInsets()

  Returns true if the background painter should paint where the border is or false if it should only paint inside the border. This property is true by default. This property affects the width, height, and initial transform passed to the background painter.

### setPaintBorderInsets

    public void setPaintBorderInsets(boolean paintBorderInsets)

  Sets the paintBorderInsets property. Set to true if the background painter should paint where the border is or false if it should only paint inside the border. This property is true by default. This property affects the width, height, and initial transform passed to the background painter. This is a bound property.

### paint

    public void paint(java.awt.Graphics g)

  Overridden paint method to take into account the alpha setting

  Overrides:
    `paint` in class `javax.swing.JComponent`
  Parameters:
    `g` -

### paintComponent

    protected void paintComponent(java.awt.Graphics g)

  Overridden to provide Painter support. It will call backgroundPainter.paint() if it is not null, else it will call super.paintComponent().

  Overrides:
    `paintComponent` in class `javax.swing.JComponent`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2010. All Rights Reserved.