Module java.desktop
Package javax.swing.text

Class AsyncBoxView.ChildState

java.lang.Object
javax.swing.text.AsyncBoxView.ChildState
所有已实现的接口:
Runnable
封装类:
AsyncBoxView

public class AsyncBoxView.ChildState extends Object implements Runnable
代表子视图的布局状态记录。它作为另一个线程上的任务可运行。基于对模型的读取锁的所有对子视图的访问应在此对象上同步(即,布局线程和GUI线程可以同时对模型进行读取锁定,并且彼此之间不受保护)。对子视图层次结构的访问通过对ChildState实例的同步进行序列化。
自版本:
1.3
  • Constructor Details

    • ChildState

      public ChildState(View v)
      构造子状态。这需要从相当大的值开始,以便我们不会错误地认为所有子项都是可见的。
      参数:
      v - 视图
      自版本:
      1.4
  • Method Details

    • getChildView

      public View getChildView()
      获取此记录表示的子视图。
      返回:
      此记录表示的子视图
    • run

      public void run()
      更新子状态。应该由希望花费时间更新子状态的线程调用(预期是布局线程)。

      在更新期间,此方法会为关联文档获取读取锁,以确保在操作时模型不会更改。首先要做的是查看是否实际上需要做任何工作。在等待更新状态时,可能发生以下情况:

      1. 子项可能已从视图层次结构中移除。
      2. 子项可能已被更高优先级操作更新(即,子项可能已变为可见)。
      指定者:
      run 在接口 Runnable
    • getMinorSpan

      public float getMinorSpan()
      沿次要轴的跨度是多少。
      返回:
      沿次要轴的跨度
    • getMinorOffset

      public float getMinorOffset()
      沿次要轴的偏移量是多少。
      返回:
      沿次要轴的偏移量
    • getMajorSpan

      public float getMajorSpan()
      沿主轴的跨度是多少。
      返回:
      沿主轴的跨度
    • getMajorOffset

      public float getMajorOffset()
      获取沿主轴的偏移量。
      返回:
      沿主轴的偏移量
    • setMajorOffset

      public void setMajorOffset(float offs)
      此方法应仅由ChildLocator调用,它只是一个方便的位置来保存缓存的位置。
      参数:
      offs - 偏移量
    • preferenceChanged

      public void preferenceChanged(boolean width, boolean height)
      标记此子视图的首选项已更改。
      参数:
      width - 如果宽度首选项已更改,则为true
      height - 如果高度首选项已更改,则为true
      参见:
    • isLayoutValid

      public boolean isLayoutValid()
      子视图是否已布局。
      返回:
      子视图是否已布局。