@JavaBean public class JXPanel extends JPanel implements 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 FormJPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
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(LayoutManager layout)
Create a new buffered JXPanel with the specified layout manager
|
JXPanel(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.
|
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 PropertyChangeListener |
getPainterChangeListener() |
Dimension |
getPreferredScrollableViewportSize() |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) |
protected ScrollableSizeHint |
getScrollableHeightHint() |
boolean |
getScrollableTracksViewportHeight() |
boolean |
getScrollableTracksViewportWidth() |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) |
protected ScrollableSizeHint |
getScrollableWidthHint() |
protected boolean |
isAlpha()
Returns whether or not the container hierarchy below is
transparent.
|
boolean |
isInheritAlpha()
Returns the state of the panel with respect to inheriting alpha values.
|
boolean |
isOpaque() |
protected boolean |
isOpaquePatch() |
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 |
isPaintingBackground()
Returns whether or not the background should be painted.
|
protected boolean |
isPaintingOrigin() |
protected boolean |
isPatch() |
protected boolean |
isTransparentBackground()
Returns whether or not the background is transparent.
|
void |
paint(Graphics g)
Overridden paint method to take into account the alpha setting.
|
protected void |
paintComponent(Graphics g)
Overridden to provide Painter support.
|
protected void |
paintComponentPatch(Graphics g) |
void |
setAlpha(float alpha)
Set the alpha transparency level for this component.
|
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 |
setOpaque(boolean opaque) |
protected void |
setOpaquePatch(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, 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(LayoutManager layout)
layout
- the LayoutManager to usepublic JXPanel(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 JComponent
public boolean isOpaque()
isOpaque
in class 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.NullPointerException
- if nullsetScrollableHeightHint(ScrollableSizeHint)
,
ScrollableSizeHint
public final void setScrollableHeightHint(ScrollableSizeHint hint)
hint
- the vertical sizing hint, must not be null
and must be vertical.NullPointerException
- if nullsetScrollableWidthHint(ScrollableSizeHint)
,
ScrollableSizeHint
protected ScrollableSizeHint getScrollableWidthHint()
protected ScrollableSizeHint getScrollableHeightHint()
public boolean getScrollableTracksViewportHeight()
getScrollableTracksViewportHeight
in interface Scrollable
public boolean getScrollableTracksViewportWidth()
getScrollableTracksViewportWidth
in interface Scrollable
public Dimension getPreferredScrollableViewportSize()
getPreferredScrollableViewportSize
in interface Scrollable
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
getScrollableBlockIncrement
in interface Scrollable
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
getScrollableUnitIncrement
in interface 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(Painter p)
p
- the new paintergetBackgroundPainter()
protected PropertyChangeListener getPainterChangeListener()
public 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 JComponent
public void paint(Graphics g)
paint
in class JComponent
g
- the Graphics
context in which to paintprotected void paintComponent(Graphics g)
paintComponent
in class JComponent
g
- the Graphics
context in which to paintprotected boolean isPatch()
protected void paintComponentPatch(Graphics g)
protected boolean isOpaquePatch()
protected void setOpaquePatch(boolean opaque)
protected boolean isAlpha()
protected boolean isTransparentBackground()
protected boolean isPaintingBackground()
Copyright © 2019. All rights reserved.