|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.jdesktop.swingx.JXPanel
public class JXPanel
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());
Scrollable,
Painter,
Serialized Form| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class javax.swing.JPanel |
|---|
JPanel.AccessibleJPanel |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, 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(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. |
|
| 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. |
Dimension |
getPreferredScrollableViewportSize()
Returns the preferred size of the viewport for a view component. |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
Components that display logical rows or columns should compute the scroll increment that will completely expose one block of rows or columns, depending on the value of orientation. |
protected ScrollableSizeHint |
getScrollableHeightHint()
|
boolean |
getScrollableTracksViewportHeight()
Return true if a viewport should always force the height of this Scrollable to match the height of the viewport. |
boolean |
getScrollableTracksViewportWidth()
Return true if a viewport should always force the width of this Scrollable to match the width of the viewport. |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
Components that display logical rows or columns should compute the scroll increment that will completely expose one new row or column, depending on the value of orientation. |
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(Graphics g)
Overriden paint method to take into account the alpha setting |
protected void |
paintComponent(Graphics g)
Overridden to provide Painter support. |
void |
setAlpha(float alpha)
Set the alpha transparency level for this component. |
void |
setBackground(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 java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
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 use
public 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
updates| Method Detail |
|---|
public void setAlpha(float alpha)
TODO add support for animated changes in translucency
alpha - must be a value between 0 and 1 inclusive.public float getAlpha()
public 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.
IllegalArgumentException - if track not horizontal
NullPointerException - if nullsetScrollableHeightHint(ScrollableSizeHint),
ScrollableSizeHintpublic final void setScrollableHeightHint(ScrollableSizeHint hint)
hint - the vertical sizing hint, must not be null
and must be vertical.
IllegalArgumentException - if track not vertical
NullPointerException - if nullsetScrollableWidthHint(ScrollableSizeHint),
ScrollableSizeHintprotected ScrollableSizeHint getScrollableWidthHint()
protected ScrollableSizeHint getScrollableHeightHint()
public boolean getScrollableTracksViewportHeight()
Scrolling containers, like JViewport, will use this method each time they are validated.
getScrollableTracksViewportHeight in interface Scrollablepublic boolean getScrollableTracksViewportWidth()
Scrollable to match the width of the viewport.
For example a normal
text view that supported line wrapping would return true here, since it
would be undesirable for wrapped lines to disappear beyond the right
edge of the viewport. Note that returning true for a Scrollable
whose ancestor is a JScrollPane effectively disables horizontal
scrolling.
Scrolling containers, like JViewport, will use this method each time they are validated.
getScrollableTracksViewportWidth in interface Scrollablepublic Dimension getPreferredScrollableViewportSize()
JList component
is the size required to accommodate all of the cells in its list.
However, the value of preferredScrollableViewportSize
is the size required for JList.getVisibleRowCount rows.
A component without any properties that would affect the viewport
size should just return getPreferredSize here.
getPreferredScrollableViewportSize in interface ScrollableJViewport whose view
is this ScrollableJComponent.getPreferredSize()
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction)
Scrolling containers, like JScrollPane, will use this method each time the user requests a block scroll.
getScrollableBlockIncrement in interface ScrollablevisibleRect - The view area visible within the viewportorientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.direction - Less than zero to scroll up/left, greater than zero for down/right.
JScrollBar.setBlockIncrement(int)
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
Scrolling containers, like JScrollPane, will use this method each time the user requests a unit scroll.
getScrollableUnitIncrement in interface ScrollablevisibleRect - The view area visible within the viewportorientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.direction - Less than zero to scroll up/left, greater than zero for down/right.
JScrollBar.setUnitIncrement(int)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 setBackground(Color bg)
setBackground in class JComponentbg - the desired background Colorjava.swing.JComponent#getBackground,
JComponent.setOpaque(boolean)public void setBackgroundPainter(Painter p)
p - the new paintergetBackgroundPainter()public Painter getBackgroundPainter()
setBackgroundPainter(Painter),
isPaintBorderInsets()public boolean isPaintBorderInsets()
public void setPaintBorderInsets(boolean paintBorderInsets)
public void paint(Graphics g)
paint in class JComponentg - JComponent.paintComponent(java.awt.Graphics),
JComponent.paintBorder(java.awt.Graphics),
JComponent.paintChildren(java.awt.Graphics),
JComponent.getComponentGraphics(java.awt.Graphics),
JComponent.repaint(long, int, int, int, int)protected void paintComponent(Graphics g)
paintComponent in class JComponentg - the Graphics object to protectJComponent.paint(java.awt.Graphics),
ComponentUI
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||