java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ScrollPaneUI javax.swing.plaf.basic.BasicScrollPaneUI
public class BasicScrollPaneUI
ScrollPaneUI 的默认 L&F 实现。
嵌套类摘要 | |
---|---|
class |
BasicScrollPaneUI.HSBChangeListener 水平滚动条侦听器。 |
protected class |
BasicScrollPaneUI.MouseWheelHandler MouseWheelHandler 是实现 MouseWheelListener 接口的内部类。 |
class |
BasicScrollPaneUI.PropertyChangeHandler |
class |
BasicScrollPaneUI.ViewportChangeHandler 视口事件的侦听器。 |
class |
BasicScrollPaneUI.VSBChangeListener 垂直滚动条侦听器。 |
字段摘要 | |
---|---|
protected ChangeListener |
hsbChangeListener |
protected JScrollPane |
scrollpane |
protected PropertyChangeListener |
spPropertyChangeListener |
protected ChangeListener |
viewportChangeListener |
protected ChangeListener |
vsbChangeListener |
构造方法摘要 | |
---|---|
BasicScrollPaneUI() |
从类 javax.swing.plaf.ComponentUI 继承的方法 |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getMinimumSize, getPreferredSize, update |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected JScrollPane scrollpane
protected ChangeListener vsbChangeListener
protected ChangeListener hsbChangeListener
protected ChangeListener viewportChangeListener
protected PropertyChangeListener spPropertyChangeListener
构造方法详细信息 |
---|
public BasicScrollPaneUI()
方法详细信息 |
---|
public static ComponentUI createUI(JComponent x)
public void paint(Graphics g, JComponent c)
ComponentUI
复制的描述
ComponentUI.update
方法中调用此方法。子类应该重写此方法并使用指定
Graphics
对象来呈现组件的内容。
ComponentUI
中的
paint
g
- 将在其中进行绘制的
Graphics
上下文
c
- 将绘制的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
复制的描述
null
,则最大大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用
getPreferredSize
并返回该值。
ComponentUI
中的
getMaximumSize
c
- 将查询其最大大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
protected void installDefaults(JScrollPane scrollpane)
protected void installListeners(JScrollPane c)
protected void installKeyboardActions(JScrollPane c)
public void installUI(JComponent x)
ComponentUI
复制的描述
ComponentUI
实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
LayoutManager
。 PropertyChangeListener
。
ComponentUI
中的
installUI
x
- 将安装此 UI 委托的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
protected void uninstallDefaults(JScrollPane c)
protected void uninstallListeners(JComponent c)
protected void uninstallKeyboardActions(JScrollPane c)
public void uninstallUI(JComponent c)
ComponentUI
复制的描述
installUI
期间,在指定组件上反向执行的配置操作。当此
UIComponent
实例将作为 UI 委托从指定组件上移除时,可调用此方法。此方法应该取消在
installUI
中执行的配置操作,非常小心地使
JComponent
实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
ComponentUI
中的
uninstallUI
c
- 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void syncScrollPaneWithViewport()
public int getBaseline(JComponent c, int width, int height)
ComponentUI
中的
getBaseline
c
- 为其请求基线的
JComponent
width
- 为其获取基线的宽度
height
- 为其获取基线的高度
NullPointerException
- 如果
c
为
null
IllegalArgumentException
- 如果宽度或高度 < 0
JComponent.getBaseline(int, int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
ComponentUI
中的
getBaselineResizeBehavior
c
- 为其返回调整大小行为的
JComponent
NullPointerException
- 如果
c
为
null
JComponent.getBaseline(int, int)
protected ChangeListener createViewportChangeListener()
protected ChangeListener createHSBChangeListener()
protected ChangeListener createVSBChangeListener()
protected MouseWheelListener createMouseWheelListener()
installUI(javax.swing.JComponent)
,
BasicScrollPaneUI.MouseWheelHandler
protected void updateScrollBarDisplayPolicy(PropertyChangeEvent e)
protected void updateViewport(PropertyChangeEvent e)
protected void updateRowHeader(PropertyChangeEvent e)
protected void updateColumnHeader(PropertyChangeEvent e)
protected PropertyChangeListener createPropertyChangeListener()
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); } } }