Methods Summary |
---|
protected void | configureScrollBarColors()
|
protected javax.swing.JButton | createDecreaseButton(int orientation)
SynthArrowButton synthArrowButton = new SynthArrowButton(orientation);
synthArrowButton.setName("ScrollBar.button");
return synthArrowButton;
|
protected javax.swing.JButton | createIncreaseButton(int orientation)
SynthArrowButton synthArrowButton = new SynthArrowButton(orientation);
synthArrowButton.setName("ScrollBar.button");
return synthArrowButton;
|
public static javax.swing.plaf.ComponentUI | createUI(javax.swing.JComponent c)
return new SynthScrollBarUI();
|
private int | getComponentState(javax.swing.JComponent c)
return SynthLookAndFeel.getComponentState(c);
|
private int | getComponentState(javax.swing.JComponent c, javax.swing.plaf.synth.Region region)
if (region == Region.SCROLL_BAR_THUMB && isThumbRollover() &&
c.isEnabled()) {
return MOUSE_OVER;
}
return SynthLookAndFeel.getComponentState(c);
|
private javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, javax.swing.plaf.synth.Region region)
return getContext(c, region, getComponentState(c, region));
|
private javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, javax.swing.plaf.synth.Region region, int state)
SynthStyle style = trackStyle;
if (region == Region.SCROLL_BAR_THUMB) {
style = thumbStyle;
}
return SynthContext.getContext(SynthContext.class, c, region, style,
state);
|
public javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c)
return getContext(c, getComponentState(c));
|
private javax.swing.plaf.synth.SynthContext | getContext(javax.swing.JComponent c, int state)
return SynthContext.getContext(SynthContext.class, c,
SynthLookAndFeel.getRegion(c), style, state);
|
protected java.awt.Dimension | getMinimumThumbSize()
if (!validMinimumThumbSize) {
if (scrollbar.getOrientation() == JScrollBar.VERTICAL) {
minimumThumbSize.width = scrollBarWidth;
minimumThumbSize.height = 7;
} else {
minimumThumbSize.width = 7;
minimumThumbSize.height = scrollBarWidth;
}
}
return minimumThumbSize;
|
public java.awt.Dimension | getPreferredSize(javax.swing.JComponent c)A vertical scrollbar's preferred width is the maximum of
preferred widths of the (non null )
increment/decrement buttons,
and the minimum width of the thumb. The preferred height is the
sum of the preferred heights of the same parts. The basis for
the preferred size of a horizontal scrollbar is similar.
The preferredSize is only computed once, subsequent
calls to this method just return a cached size.
Insets insets = c.getInsets();
return (scrollbar.getOrientation() == JScrollBar.VERTICAL)
? new Dimension(scrollBarWidth + insets.left + insets.right, 48)
: new Dimension(48, scrollBarWidth + insets.top + insets.bottom);
|
private javax.swing.plaf.synth.Region | getRegion(javax.swing.JComponent c)
return SynthLookAndFeel.getRegion(c);
|
public boolean | getSupportsAbsolutePositioning()
SynthContext context = getContext(scrollbar);
boolean value = style.getBoolean(context,
"ScrollBar.allowsAbsolutePositioning", false);
context.dispose();
return value;
|
protected void | installDefaults()
trackHighlight = NO_HIGHLIGHT;
if (scrollbar.getLayout() == null ||
(scrollbar.getLayout() instanceof UIResource)) {
scrollbar.setLayout(this);
}
updateStyle(scrollbar);
|
protected void | installListeners()
super.installListeners();
scrollbar.addPropertyChangeListener(this);
|
public void | paint(java.awt.Graphics g, javax.swing.JComponent c)
SynthContext context = getContext(c);
paint(context, g);
context.dispose();
|
protected void | paint(javax.swing.plaf.synth.SynthContext context, java.awt.Graphics g)
SynthContext subcontext = getContext(scrollbar,
Region.SCROLL_BAR_TRACK);
paintTrack(subcontext, g, getTrackBounds());
subcontext.dispose();
subcontext = getContext(scrollbar, Region.SCROLL_BAR_THUMB);
paintThumb(subcontext, g, getThumbBounds());
subcontext.dispose();
|
public void | paintBorder(javax.swing.plaf.synth.SynthContext context, java.awt.Graphics g, int x, int y, int w, int h)
context.getPainter().paintScrollBarBorder(context, g, x, y, w, h,
scrollbar.getOrientation());
|
protected void | paintThumb(javax.swing.plaf.synth.SynthContext ss, java.awt.Graphics g, java.awt.Rectangle thumbBounds)
SynthLookAndFeel.updateSubregion(ss, g, thumbBounds);
int orientation = scrollbar.getOrientation();
ss.getPainter().paintScrollBarThumbBackground(ss, g, thumbBounds.x,
thumbBounds.y, thumbBounds.width, thumbBounds.height,
orientation);
ss.getPainter().paintScrollBarThumbBorder(ss, g, thumbBounds.x,
thumbBounds.y, thumbBounds.width, thumbBounds.height,
orientation);
|
protected void | paintTrack(javax.swing.plaf.synth.SynthContext ss, java.awt.Graphics g, java.awt.Rectangle trackBounds)
SynthLookAndFeel.updateSubregion(ss, g, trackBounds);
ss.getPainter().paintScrollBarTrackBackground(ss, g, trackBounds.x,
trackBounds.y, trackBounds.width, trackBounds.height,
scrollbar.getOrientation());
ss.getPainter().paintScrollBarTrackBorder(ss, g, trackBounds.x,
trackBounds.y, trackBounds.width, trackBounds.height,
scrollbar.getOrientation());
|
public void | propertyChange(java.beans.PropertyChangeEvent e)
String propertyName = e.getPropertyName();
if (SynthLookAndFeel.shouldUpdateStyle(e)) {
updateStyle((JScrollBar)e.getSource());
}
if ("orientation" == propertyName) {
updateButtonDirections();
}
else if ("componentOrientation" == propertyName) {
updateButtonDirections();
}
|
protected void | setThumbRollover(boolean active)
if (isThumbRollover() != active) {
scrollbar.repaint(getThumbBounds());
super.setThumbRollover(active);
}
|
protected void | uninstallDefaults()
SynthContext context = getContext(scrollbar, ENABLED);
style.uninstallDefaults(context);
context.dispose();
style = null;
context = getContext(scrollbar, Region.SCROLL_BAR_TRACK, ENABLED);
trackStyle.uninstallDefaults(context);
context.dispose();
trackStyle = null;
context = getContext(scrollbar, Region.SCROLL_BAR_THUMB, ENABLED);
thumbStyle.uninstallDefaults(context);
context.dispose();
thumbStyle = null;
super.uninstallDefaults();
|
protected void | uninstallListeners()
super.uninstallListeners();
scrollbar.removePropertyChangeListener(this);
|
public void | update(java.awt.Graphics g, javax.swing.JComponent c)
SynthContext context = getContext(c);
SynthLookAndFeel.update(context, g);
context.getPainter().paintScrollBarBackground(context,
g, 0, 0, c.getWidth(), c.getHeight(),
scrollbar.getOrientation());
paint(context, g);
context.dispose();
|
private void | updateButtonDirections()
int orient = scrollbar.getOrientation();
if (scrollbar.getComponentOrientation().isLeftToRight()) {
((SynthArrowButton)incrButton).setDirection(
orient == HORIZONTAL? EAST : SOUTH);
((SynthArrowButton)decrButton).setDirection(
orient == HORIZONTAL? WEST : NORTH);
}
else {
((SynthArrowButton)incrButton).setDirection(
orient == HORIZONTAL? WEST : SOUTH);
((SynthArrowButton)decrButton).setDirection(
orient == HORIZONTAL ? EAST : NORTH);
}
|
private void | updateStyle(javax.swing.JScrollBar c)
SynthStyle oldStyle = style;
SynthContext context = getContext(c, ENABLED);
style = SynthLookAndFeel.updateStyle(context, this);
if (style != oldStyle) {
scrollBarWidth = style.getInt(context,"ScrollBar.thumbHeight", 14);
minimumThumbSize = (Dimension)style.get(context,
"ScrollBar.minimumThumbSize");
if (minimumThumbSize == null) {
minimumThumbSize = new Dimension();
validMinimumThumbSize = false;
}
else {
validMinimumThumbSize = true;
}
maximumThumbSize = (Dimension)style.get(context,
"ScrollBar.maximumThumbSize");
if (maximumThumbSize == null) {
maximumThumbSize = new Dimension(4096, 4097);
}
if (oldStyle != null) {
uninstallKeyboardActions();
installKeyboardActions();
}
}
context.dispose();
context = getContext(c, Region.SCROLL_BAR_TRACK, ENABLED);
trackStyle = SynthLookAndFeel.updateStyle(context, this);
context.dispose();
context = getContext(c, Region.SCROLL_BAR_THUMB, ENABLED);
thumbStyle = SynthLookAndFeel.updateStyle(context, this);
context.dispose();
|