@JavaBean public class JXPanel extends javax.swing.JPanel implements javax.swing.Scrollable
An extended JPanel
that provides additional features.
JXPanel
is Scrollable
by default. It provides reasonable
implementations of all of the interface methods. In addition, it supports the
setting of common scrolling approaches defined in ScrollableSizeHint
.
JXPanel
has full alpha-channel support. This means that the
JXPanel
can be made fully or partially transparent. This means that
the JXPanel and all of its children will behave as a single paint at the
specified alpha value. Cauton: best practice is to use
either alpha support or opacity support, but not both. See the documentation
on the methods for further information.
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);
JXPanel
has support for Painters.
A painter example, this following code will show how to add a simple painter:
JXPanel panel = new JXPanel(); panel.setBackgroundPainter(new PinstripePainter());
Scrollable
,
Painter
,
Serialized Formjavax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
float |
getAlpha()
Get the current alpha value.
|
org.jdesktop.swingx.painter.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.
|
protected boolean |
isPaintingOrigin() |
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 |
setBackgroundPainter(org.jdesktop.swingx.painter.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 |
setOpaque(boolean opaque) |
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.
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, hide, 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, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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, transferFocusDownCycle, validate, validateTree
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, 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, transferFocusBackward, transferFocusUpCycle
public JXPanel()
JXPanel
with a double buffer and a flow
layout.public JXPanel(boolean isDoubleBuffered)
JXPanel
with FlowLayout
and the
specified buffering strategy. If isDoubleBuffered
is true,
the JXPanel
will use a double buffer.isDoubleBuffered
- a boolean, true for double-buffering, which uses
additional memory space to achieve fast, flicker-free updatespublic JXPanel(java.awt.LayoutManager layout)
layout
- the LayoutManager to usepublic JXPanel(java.awt.LayoutManager layout, boolean isDoubleBuffered)
layout
- the LayoutManager to useisDoubleBuffered
- a boolean, true for double-buffering, which uses
additional memory space to achieve fast, flicker-free updatespublic void setOpaque(boolean opaque)
Setting the component to be opaque will reset the alpha setting to
1f
(full opaqueness). Setting the component to be non-opaque will
restore the previous alpha transparency. If the component is non-opaque
with a fully-opaque alpha value (1f
), the behavior should be the
same as as a JPanel
that is non-opaque.
setOpaque
in class javax.swing.JComponent
public float getAlpha()
public void setAlpha(float alpha)
alpha
- must be a value between 0 and 1 inclusivepublic float getEffectiveAlpha()
public boolean isInheritAlpha()
true
if this panel inherits alpha values; false
otherwisesetInheritAlpha(boolean)
public void setInheritAlpha(boolean val)
val
- true
to include ancestral alpha data;
false
otherwiseisInheritAlpha()
,
getEffectiveAlpha()
public final void setScrollableWidthHint(ScrollableSizeHint hint)
hint
- the horizontal sizing hint, must not be null and must be
vertical.java.lang.NullPointerException
- if nullsetScrollableHeightHint(ScrollableSizeHint)
,
ScrollableSizeHint
public final void setScrollableHeightHint(ScrollableSizeHint hint)
hint
- the vertical sizing hint, must not be null and must be
vertical.java.lang.NullPointerException
- if nullsetScrollableWidthHint(ScrollableSizeHint)
,
ScrollableSizeHint
protected ScrollableSizeHint getScrollableWidthHint()
protected ScrollableSizeHint getScrollableHeightHint()
public boolean getScrollableTracksViewportHeight()
getScrollableTracksViewportHeight
in interface javax.swing.Scrollable
public boolean getScrollableTracksViewportWidth()
getScrollableTracksViewportWidth
in interface javax.swing.Scrollable
public java.awt.Dimension getPreferredScrollableViewportSize()
getPreferredScrollableViewportSize
in interface javax.swing.Scrollable
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
getScrollableBlockIncrement
in interface javax.swing.Scrollable
public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
getScrollableUnitIncrement
in interface javax.swing.Scrollable
public void setScrollableTracksViewportHeight(boolean scrollableTracksViewportHeight)
NOTE: this method is kept for backward compatibility only, for full control use setScrollableHeightHint.
scrollableTracksViewportHeight
- The scrollableTracksViewportHeight
to set.setScrollableHeightHint(ScrollableSizeHint)
public void setScrollableTracksViewportWidth(boolean scrollableTracksViewportWidth)
NOTE: this method is kept for backward compatibility only, for full control use setScrollableWidthHint.
scrollableTracksViewportWidth
- The scrollableTracksViewportWidth to
set.setScrollableWidthHint(ScrollableSizeHint)
public void setBackgroundPainter(org.jdesktop.swingx.painter.Painter p)
p
- the new paintergetBackgroundPainter()
protected java.beans.PropertyChangeListener getPainterChangeListener()
public org.jdesktop.swingx.painter.Painter getBackgroundPainter()
setBackgroundPainter(Painter)
,
isPaintBorderInsets()
public boolean isPaintBorderInsets()
true
to paint under the border; false
otherwisepublic void setPaintBorderInsets(boolean paintBorderInsets)
protected boolean isPaintingOrigin()
isPaintingOrigin
in class javax.swing.JComponent
public void paint(java.awt.Graphics g)
paint
in class javax.swing.JComponent
g
- the Graphics
context in which to paintprotected void paintComponent(java.awt.Graphics g)
paintComponent
in class javax.swing.JComponent
g
- the Graphics
context in which to paint