Module java.desktop
Package javax.swing.text

Class AsyncBoxView.ChildLocator

java.lang.Object
javax.swing.text.AsyncBoxView.ChildLocator
封闭类:
AsyncBoxView

public class AsyncBoxView.ChildLocator extends Object
一个用于在局部区域内管理子视图有效位置的类,当局部区域发生变化时,AsyncBoxView 可能会不断变化,但可见区域需要保持相对稳定,直到布局线程决定向父级发布更新为止。
自版本:
1.3
  • Field Details

    • lastValidOffset

      protected AsyncBoxView.ChildState lastValidOffset
      最后一次有效偏移计算的位置。
    • lastAlloc

      protected Rectangle lastAlloc
      最后一次分配的位置(用于向上刷新更改时重绘)。
    • childAlloc

      protected Rectangle childAlloc
      用于子分配的形状,以避免创建大量垃圾。
  • Constructor Details

    • ChildLocator

      public ChildLocator()
      构造子定位器。
  • Method Details

    • childChanged

      public void childChanged(AsyncBoxView.ChildState cs)
      子项更改通知。这可能会影响是否需要新的偏移计算。这是由已更改其主跨度的 ChildState 对象调用的。因此,可能会被多个线程调用。
      参数:
      cs - 子状态
    • paintChildren

      public void paintChildren(Graphics g)
      绘制与剪辑区域相交的子项。
      参数:
      g - 要使用的渲染表面
    • getChildAllocation

      public Shape getChildAllocation(int index, Shape a)
      获取用于子视图的分配。这将更新尚未在给定索引之前更新的所有子项的偏移量。
      参数:
      index - 子索引
      a - 分配
      返回:
      用于子视图的分配
    • getViewIndexAtPoint

      public int getViewIndexAtPoint(float x, float y, Shape a)
      获取给定点处的子视图索引。这是由需要计算要将消息转发给哪个子项的各种 View 方法调用的。应在此对象上同步调用此方法,并且通常会跟随一个或多个调用 getChildAllocation 的调用,这些调用也应在同步块中。
      参数:
      x - X 坐标 >= 0
      y - Y 坐标 >= 0
      a - 视图的分配
      返回:
      最近的子索引
    • getChildAllocation

      protected Shape getChildAllocation(int index)
      获取用于子视图的分配。这不会更新 ChildState 记录中的偏移量。
      参数:
      index - 索引
      返回:
      用于子视图的分配
    • setAllocation

      protected void setAllocation(Shape a)
      将当前分配的形状复制到用于存储当前分配的矩形中。这将是 Java2D 特定实现中的浮点矩形。
      参数:
      a - 分配
    • getViewIndexAtVisualOffset

      protected int getViewIndexAtVisualOffset(float targetOffset)
      定位负责沿主轴偏移箱内的视图。确保在给定目标跨度之后的所需偏移量上设置 ChildState 对象的偏移量。
      参数:
      targetOffset - 目标偏移量
      返回:
      表示给定视觉位置(targetOffset)的视图的索引,如果没有视图表示该位置,则返回 -1