- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ScrollPaneUI
-
- javax.swing.plaf.basic.BasicScrollPaneUI
-
- All Implemented Interfaces:
-
ScrollPaneConstants
- 已知直接子类:
-
MetalScrollPaneUI
,SynthScrollPaneUI
public class BasicScrollPaneUI extends ScrollPaneUI implements ScrollPaneConstants
ScrollPaneUI的默认L&F实现。
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 class
BasicScrollPaneUI.HSBChangeListener
水平滚动条监听器。protected class
BasicScrollPaneUI.MouseWheelHandler
MouseWheelHandler是一个实现MouseWheelListener接口的内部类。class
BasicScrollPaneUI.PropertyChangeHandler
属性更改处理程序class
BasicScrollPaneUI.ViewportChangeHandler
监听器用于视口事件。class
BasicScrollPaneUI.VSBChangeListener
垂直卷轴侦听器。
-
Field Summary
Fields Modifier and Type Field 描述 protected ChangeListener
hsbChangeListener
ChangeListener
安装在水平滚动条上。protected JScrollPane
scrollpane
实例JScrollPane
。protected PropertyChangeListener
spPropertyChangeListener
PropertyChangeListener
安装在滚动窗格上。protected ChangeListener
viewportChangeListener
ChangeListener
安装在视口上。protected ChangeListener
vsbChangeListener
ChangeListener
安装在垂直滚动条上。-
Fields inherited from interface javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT
-
-
构造方法摘要
构造方法 Constructor 描述 BasicScrollPaneUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected ChangeListener
createHSBChangeListener()
返回水平滚动条ChangeListener
一个实例。protected MouseWheelListener
createMouseWheelListener()
创建一个MouseWheelListener的实例,该实例由installUI()添加到JScrollPane中。protected PropertyChangeListener
createPropertyChangeListener()
创建一个PropertyChangeListener
的实例,被添加到JScrollPane
由installUI()
。static ComponentUI
createUI(JComponent x)
返回一个新的实例BasicScrollPaneUI
。protected ChangeListener
createViewportChangeListener()
返回视口ChangeListener
的实例。protected ChangeListener
createVSBChangeListener()
返回垂直滚动条ChangeListener
一个实例。int
getBaseline(JComponent c, int width, int height)
返回基线。Component.BaselineResizeBehavior
getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随着大小的变化而改变。Dimension
getMaximumSize(JComponent c)
返回指定组件的最大尺寸,适合外观和感觉。protected void
installDefaults(JScrollPane scrollpane)
安装默认属性。protected void
installKeyboardActions(JScrollPane c)
注册键盘操作。protected void
installListeners(JScrollPane c)
注册听众。void
installUI(JComponent x)
适当地配置指定的组件的外观和感觉。void
paint(Graphics g, JComponent c)
适当地涂抹指定的组件的外观和感觉。protected void
syncScrollPaneWithViewport()
将JScrollPane
与Viewport
同步。protected void
uninstallDefaults(JScrollPane c)
卸载默认属性。protected void
uninstallKeyboardActions(JScrollPane c)
取消注册键盘操作。protected void
uninstallListeners(JComponent c)
取消注册听众。void
uninstallUI(JComponent c)
在installUI
反转在指定组件上完成的配置。protected void
updateColumnHeader(PropertyChangeEvent e)
更新列标题。protected void
updateRowHeader(PropertyChangeEvent e)
更新行标题。protected void
updateScrollBarDisplayPolicy(PropertyChangeEvent e)
更新滚动条显示策略。protected void
updateViewport(PropertyChangeEvent e)
更新视口。-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMinimumSize, getPreferredSize, update
-
-
-
-
字段详细信息
-
scrollpane
protected JScrollPane scrollpane
实例JScrollPane
。
-
vsbChangeListener
protected ChangeListener vsbChangeListener
ChangeListener
安装在垂直滚动条上。
-
hsbChangeListener
protected ChangeListener hsbChangeListener
ChangeListener
安装在水平滚动条上。
-
viewportChangeListener
protected ChangeListener viewportChangeListener
ChangeListener
安装在视口上。
-
spPropertyChangeListener
protected PropertyChangeListener spPropertyChangeListener
PropertyChangeListener
安装在滚动窗格上。
-
-
方法详细信息
-
createUI
public static ComponentUI createUI(JComponent x)
返回一个新的实例BasicScrollPaneUI
。- 参数
-
x
- 一个组件。 - 结果
-
一个新的例子
BasicScrollPaneUI
-
paint
public void paint(Graphics g, JComponent c)
描述从类复制:ComponentUI
适当地涂抹指定的组件的外观和感觉。 当指定的组件被绘制时,将从ComponentUI.update
方法调用此方法。 子类应该覆盖此方法,并使用指定的Graphics
对象来呈现组件的内容。- 重写:
-
paint
在ComponentUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 正在涂漆的部件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
描述从类复制:ComponentUI
返回指定组件的最大尺寸,适合外观和感觉。 如果返回null
,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize
并返回该值。- 重写:
-
getMaximumSize
在ComponentUI
- 参数
-
c
- 查询最大大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
- 新维度(Short.MAX_VALUE,Short.MAX_VALUE)
- 另请参见:
-
JComponent.getMaximumSize()
,LayoutManager2.maximumLayoutSize(java.awt.Container)
-
installDefaults
protected void installDefaults(JScrollPane scrollpane)
安装默认属性。- 参数
-
scrollpane
-实例JScrollPane
-
installListeners
protected void installListeners(JScrollPane c)
注册听众。- 参数
-
c
-实例JScrollPane
-
installKeyboardActions
protected void installKeyboardActions(JScrollPane c)
注册键盘操作。- 参数
-
c
-实例JScrollPane
-
installUI
public void installUI(JComponent x)
描述从类复制:ComponentUI
适当地配置指定的组件的外观和感觉。 当正在安装ComponentUI
实例作为指定组件上的UI委托时,将调用此方法。 该方法应该完全配置组件的外观,包括以下内容:- 为组件上的颜色,字体,边框,图标,不透明度等安装默认属性值。 只要有可能,由客户端程序初始化的属性值不应该被重写。
- 如有必要,请在组件上安装
LayoutManager
。 - 创建/添加任何所需的子组件到组件。
- 在组件上创建/安装事件监听器。
- 在组件上创建/安装
PropertyChangeListener
,以便适当地检测和响应组件属性更改。 - 在组件上安装键盘UI(助记符,遍历等)。
- 初始化任何适当的实例数据。
- 重写:
-
installUI
在ComponentUI
- 参数
-
x
- 正在安装此UIx
的组件 - 另请参见:
-
ComponentUI.uninstallUI(javax.swing.JComponent)
,JComponent.setUI(javax.swing.plaf.ComponentUI)
,JComponent.updateUI()
-
uninstallDefaults
protected void uninstallDefaults(JScrollPane c)
卸载默认属性。- 参数
-
c
-实例JScrollPane
-
uninstallListeners
protected void uninstallListeners(JComponent c)
取消注册听众。- 参数
-
c
- 一个组件
-
uninstallKeyboardActions
protected void uninstallKeyboardActions(JScrollPane c)
取消注册键盘操作。- 参数
-
c
-实例JScrollPane
-
uninstallUI
public void uninstallUI(JComponent c)
描述从类复制:ComponentUI
在installUI
反转在指定组件上完成的配置。 当该UIComponent
实例作为指定组件的UI委托被删除时,将调用此方法。 该方法应该撤消在installUI
执行的配置,小心使JComponent
实例处于干净状态(没有无关的侦听器,外观特定的属性对象等)。 这应该包括以下内容:- 从组件中删除任何UI集边框。
- 删除组件上的任何UI集布局管理器。
- 从组件中删除任何添加了UI的子组件。
- 从组件中删除任何UI添加的事件/属性侦听器。
- 从组件中删除任何UI安装的键盘UI。
- 对任何分配的实例数据对象进行空白以允许GC。
- 重写:
-
uninstallUI
在ComponentUI
- 参数
-
c
- 从中删除此UIc
的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.installUI(javax.swing.JComponent)
,JComponent.updateUI()
-
syncScrollPaneWithViewport
protected void syncScrollPaneWithViewport()
同步JScrollPane
与Viewport
。
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
返回基线。- 重写:
-
getBaseline
在ComponentUI
- 参数
-
c
-JComponent
正在请求基准 -
width
- 获取基准的宽度 -
height
- 获取基准的高度 - 结果
- 基线或值<0表示没有合理的基线
- 异常
-
NullPointerException
- 如果c
是null
-
IllegalArgumentException
- 如果宽度或高度<0 - 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随着大小的变化而改变。- 重写:
-
getBaselineResizeBehavior
在ComponentUI
- 参数
-
c
-JComponent
以返回基准调整大小行为 - 结果
- 一个枚举,指示基准随着组件大小的变化而改变
- 异常
-
NullPointerException
- 如果c
是null
- 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
createViewportChangeListener
protected ChangeListener createViewportChangeListener()
返回视口ChangeListener
的实例。- 结果
-
视口
ChangeListener
一个实例
-
createHSBChangeListener
protected ChangeListener createHSBChangeListener()
返回水平滚动条ChangeListener
的实例。- 结果
-
水平滚动条
ChangeListener
一个实例
-
createVSBChangeListener
protected ChangeListener createVSBChangeListener()
返回垂直滚动条ChangeListener
的实例。- 结果
-
垂直滚动条
ChangeListener
一个实例
-
createMouseWheelListener
protected MouseWheelListener createMouseWheelListener()
创建一个MouseWheelListener的实例,该实例由installUI()添加到JScrollPane中。 返回的MouseWheelListener用于处理鼠标滚轮驱动滚动。- 结果
- 实现轮驱动滚动的MouseWheelListener
- 从以下版本开始:
- 1.4
- 另请参见:
-
installUI(javax.swing.JComponent)
,BasicScrollPaneUI.MouseWheelHandler
-
updateScrollBarDisplayPolicy
protected void updateScrollBarDisplayPolicy(PropertyChangeEvent e)
更新滚动条显示策略。- 参数
-
e
- 财产变更事件
-
updateViewport
protected void updateViewport(PropertyChangeEvent e)
更新视口。- 参数
-
e
- 物业变更事件
-
updateRowHeader
protected void updateRowHeader(PropertyChangeEvent e)
更新行标题。- 参数
-
e
- 物业变更事件
-
updateColumnHeader
protected void updateColumnHeader(PropertyChangeEvent e)
更新列标题。- 参数
-
e
- 物业变更事件
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
创建一个PropertyChangeListener
的实例,被添加到JScrollPane
由installUI()
。 子类可以覆盖此方法以返回自定义的PropertyChangeListener
,例如class MyScrollPaneUI extends BasicScrollPaneUI { protected PropertyChangeListener createPropertyChangeListener() { return new MyPropertyChangeListener(); } public class MyPropertyChangeListener extends PropertyChangeListener { public void propertyChange(PropertyChangeEvent e) { if (e.getPropertyName().equals("viewport")) { // do some extra work when the viewport changes } super.propertyChange(e); } } }
- 结果
-
一个
PropertyChangeListener
- 另请参见:
-
PropertyChangeListener
,installUI(javax.swing.JComponent)
-
-