public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, SwingConstants
Modifier and Type | Class and Description |
---|---|
protected class |
BasicScrollBarUI.ArrowButtonListener
光标键侦听器。
|
protected class |
BasicScrollBarUI.ModelListener
监听模式更改的监听器。
|
class |
BasicScrollBarUI.PropertyChangeHandler |
protected class |
BasicScrollBarUI.ScrollListener
监听滚动在启动事件
ScrollPane 。
|
protected class |
BasicScrollBarUI.TrackListener
跟踪鼠标拖动。
|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Constructor and Description |
---|
BasicScrollBarUI() |
Modifier and Type | Method and Description |
---|---|
void |
addLayoutComponent(String name, Component child)
如果布局管理器使用每个组件字符串,则将组件
comp 添加到布局,将其与name指定的字符串相关
name 。
|
protected void |
configureScrollBarColors() |
protected BasicScrollBarUI.ArrowButtonListener |
createArrowButtonListener() |
protected JButton |
createDecreaseButton(int orientation) |
protected JButton |
createIncreaseButton(int orientation) |
protected BasicScrollBarUI.ModelListener |
createModelListener() |
protected PropertyChangeListener |
createPropertyChangeListener() |
protected BasicScrollBarUI.ScrollListener |
createScrollListener() |
protected BasicScrollBarUI.TrackListener |
createTrackListener() |
static ComponentUI |
createUI(JComponent c) |
Dimension |
getMaximumSize(JComponent c)
返回指定组件的最大尺寸,适合外观和感觉。
|
protected Dimension |
getMaximumThumbSize()
返回拇指的最大可接受尺寸。
|
protected Dimension |
getMinimumThumbSize()
返回拇指的最小可接受尺寸。
|
Dimension |
getPreferredSize(JComponent c)
垂直滚动条的首选宽度是(非
null )增量/减量按钮的最大宽度和拇指的最小宽度的最大值。
|
boolean |
getSupportsAbsolutePositioning()
指示用户是否可以用鼠标手势(通常是鼠标中键)绝对定位拇指。
|
protected Rectangle |
getThumbBounds()
返回当前的大小/位置。
|
protected Rectangle |
getTrackBounds()
返回轨道的当前边界,即
|
protected void |
installComponents() |
protected void |
installDefaults() |
protected void |
installKeyboardActions() |
protected void |
installListeners() |
void |
installUI(JComponent c)
适当地配置指定的组件的外观和感觉。
|
boolean |
isThumbRollover()
如果鼠标当前在拇指上,则返回true。
|
void |
layoutContainer(Container scrollbarContainer)
放出指定的容器。
|
protected void |
layoutHScrollbar(JScrollBar sb) |
protected void |
layoutVScrollbar(JScrollBar sb) |
Dimension |
minimumLayoutSize(Container scrollbarContainer)
计算指定容器的最小尺寸尺寸,给定其包含的组件。
|
void |
paint(Graphics g, JComponent c)
适当地涂抹指定的组件的外观和感觉。
|
protected void |
paintDecreaseHighlight(Graphics g) |
protected void |
paintIncreaseHighlight(Graphics g) |
protected void |
paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) |
protected void |
paintTrack(Graphics g, JComponent c, Rectangle trackBounds) |
Dimension |
preferredLayoutSize(Container scrollbarContainer)
计算指定容器的首选大小尺寸,给定其包含的组件。
|
void |
removeLayoutComponent(Component child)
从布局中删除指定的组件。
|
protected void |
scrollByBlock(int direction) |
protected void |
scrollByUnit(int direction) |
protected void |
setThumbBounds(int x, int y, int width, int height)
设置拇指的边界,并强制包含旧的thumbBounds和新的thumbBounds的重绘。
|
protected void |
setThumbRollover(boolean active)
设置鼠标是否当前在拇指上。
|
protected void |
uninstallComponents() |
protected void |
uninstallDefaults() |
protected void |
uninstallKeyboardActions() |
protected void |
uninstallListeners() |
void |
uninstallUI(JComponent c)
在installUI中反转在
installUI 上完成的
installUI 。
|
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMinimumSize, update
protected Dimension minimumThumbSize
protected Dimension maximumThumbSize
protected Color thumbHighlightColor
protected Color thumbLightShadowColor
protected Color thumbDarkShadowColor
protected Color thumbColor
protected Color trackColor
protected Color trackHighlightColor
protected JScrollBar scrollbar
protected JButton incrButton
protected JButton decrButton
protected boolean isDragging
protected BasicScrollBarUI.TrackListener trackListener
protected BasicScrollBarUI.ArrowButtonListener buttonListener
protected BasicScrollBarUI.ModelListener modelListener
protected Rectangle thumbRect
protected Rectangle trackRect
protected int trackHighlight
protected static final int NO_HIGHLIGHT
protected static final int DECREASE_HIGHLIGHT
protected static final int INCREASE_HIGHLIGHT
protected BasicScrollBarUI.ScrollListener scrollListener
protected PropertyChangeListener propertyChangeListener
protected Timer scrollTimer
protected int scrollBarWidth
protected int incrGap
protected int decrGap
public static ComponentUI createUI(JComponent c)
protected void configureScrollBarColors()
public void installUI(JComponent c)
ComponentUI
ComponentUI
实例作为指定组件上的UI委托时,将调用此方法。
该方法应该完全配置组件的外观,包括以下内容:
LayoutManager
上安装LayoutManager。 PropertyChangeListener
上创建/安装PropertyChangeListener,以便适当地检测和响应组件属性更改。 installUI
类
ComponentUI
c
- 安装此UI代理的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
ComponentUI
installUI
上完成的installUI
。
当将此UIComponent
实例作为指定组件的UI委托删除时,将调用此方法。
该方法应该撤消在installUI中执行的installUI
,小心使JComponent
实例处于干净状态(无外部侦听器,外观特定属性对象等)。
这应该包括以下内容:
uninstallUI
在
ComponentUI
c
- 删除此UI代理的组件;
这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
ComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void installDefaults()
protected void installComponents()
protected void uninstallComponents()
protected void installListeners()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
protected void uninstallListeners()
protected void uninstallDefaults()
protected BasicScrollBarUI.TrackListener createTrackListener()
protected BasicScrollBarUI.ArrowButtonListener createArrowButtonListener()
protected BasicScrollBarUI.ModelListener createModelListener()
protected BasicScrollBarUI.ScrollListener createScrollListener()
protected PropertyChangeListener createPropertyChangeListener()
protected void setThumbRollover(boolean active)
active
- True表示拇指当前处于活动状态。
public boolean isThumbRollover()
public void paint(Graphics g, JComponent c)
ComponentUI
ComponentUI.update
指定组件正在被绘制时的方法。
子类应该覆盖此方法,并使用指定的Graphics
对象来呈现Graphics
的内容。
paint
在
ComponentUI
类
g
- 要绘画的
Graphics
上下文
c
- 正在涂漆的部件;
这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
null
)增量/减量按钮的最大宽度和拇指的最小宽度的最大值。
优选的高度是相同部件的优选高度的总和。
水平滚动条的首选尺寸的基础是相似的。
preferredSize
只计算一次,对此方法的后续调用只返回缓存的大小。
getPreferredSize
在
ComponentUI
类
c
-在
JScrollBar
多数民众赞成委托这种方法给我们
getMaximumSize(javax.swing.JComponent)
,
ComponentUI.getMinimumSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
null
,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。
此方法的默认实现将调用getPreferredSize
并返回该值。
getMaximumSize
在
ComponentUI
c
- 将此方法委托给我们的JScrollBar。
ComponentUI.getMinimumSize(javax.swing.JComponent)
,
getPreferredSize(javax.swing.JComponent)
protected JButton createDecreaseButton(int orientation)
protected JButton createIncreaseButton(int orientation)
protected void paintDecreaseHighlight(Graphics g)
protected void paintIncreaseHighlight(Graphics g)
protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds)
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
protected Dimension getMinimumThumbSize()
警告 :此方法返回的值不应该被修改,它是一个共享静态常量。
getMaximumThumbSize()
protected Dimension getMaximumThumbSize()
getMinimumThumbSize
返回相同的值。
警告 :此方法返回的值不应该被修改,它是一个共享静态常量。
getMinimumThumbSize()
public void addLayoutComponent(String name, Component child)
LayoutManager
comp
添加到布局,将其与name指定的字符串相关
name
。
addLayoutComponent
在接口
LayoutManager
name
- 与
name
的字符串
child
- 要添加的组件
public void removeLayoutComponent(Component child)
LayoutManager
removeLayoutComponent
在接口
LayoutManager
child
- 要删除的组件
public Dimension preferredLayoutSize(Container scrollbarContainer)
LayoutManager
复制
preferredLayoutSize
在接口
LayoutManager
scrollbarContainer
- 要布置的容器
LayoutManager.minimumLayoutSize(java.awt.Container)
public Dimension minimumLayoutSize(Container scrollbarContainer)
LayoutManager
复制
minimumLayoutSize
在接口
LayoutManager
scrollbarContainer
- 要布局的组件
LayoutManager.preferredLayoutSize(java.awt.Container)
protected void layoutVScrollbar(JScrollBar sb)
protected void layoutHScrollbar(JScrollBar sb)
public void layoutContainer(Container scrollbarContainer)
LayoutManager
layoutContainer
在接口
LayoutManager
scrollbarContainer
- 要布置的容器
protected void setThumbBounds(int x, int y, int width, int height)
getThumbBounds()
protected Rectangle getThumbBounds()
警告 :此方法返回的值不应被修改,它是对实际矩形的引用,而不是副本。
setThumbBounds(int, int, int, int)
protected Rectangle getTrackBounds()
警告 :此方法返回的值不应被修改,它是对实际矩形的引用,而不是副本。
layoutContainer(java.awt.Container)
protected void scrollByBlock(int direction)
protected void scrollByUnit(int direction)
public boolean getSupportsAbsolutePositioning()