Module  java.desktop
软件包  javax.swing.text

Class PlainView

  • All Implemented Interfaces:
    SwingConstantsTabExpander
    已知直接子类:
    FieldView


    public class PlainView
    extends View
    implements TabExpander
    实现一个简单的多行文本视图的视图界面,它具有一种字体和颜色的文本。 该视图将每个子元素表示为一行文本。
    另请参见:
    View
    • 字段详细信息

      • metrics

        protected FontMetrics metrics
        当前字体的字体指标。
    • 构造方法详细信息

      • PlainView

        public PlainView​(Element elem)
        构造一个包含在元素上的新PlainView。
        参数
        elem - 元素
    • 方法详细信息

      • getTabSize

        protected int getTabSize​()
        返回为文档设置的选项卡大小,默认为8。
        结果
        标签大小
      • drawUnselectedText

        protected float drawUnselectedText​(Graphics2D g,
                                           float x,
                                           float y,
                                           int p0,
                                           int p1)
                                    throws BadLocationException
        将模型中的给定范围呈现为正常未选择的文本。 使用前景或禁用颜色来呈现文本。
        参数
        g - 图形上下文
        x - 起始X坐标 >= 0
        y - 起始Y坐标 >= 0
        p0 - 模型中的起始位置 >= 0
        p1 - 模型中的结束位置 >= 0
        结果
        X位置的范围为 >= 0
        异常
        BadLocationException - 如果范围无效
        从以下版本开始:
        9
      • drawSelectedText

        @Deprecated(since="9")
        protected int drawSelectedText​(Graphics g,
                                       int x,
                                       int y,
                                       int p0,
                                       int p1)
                                throws BadLocationException
        将模型中的给定范围渲染为所选文本。 这被实现为以主机组件中指定的颜色呈现文本。 它假设荧光笔将渲染所选的背景。
        参数
        g - 图形上下文
        x - 起始X坐标> = 0
        y - 起始Y坐标> = 0
        p0 - 模型中的起始位置> = 0
        p1 - 模型中的结束位置> = 0
        结果
        位置的范围结束
        异常
        BadLocationException - 如果范围无效
      • drawSelectedText

        protected float drawSelectedText​(Graphics2D g,
                                         float x,
                                         float y,
                                         int p0,
                                         int p1)
                                  throws BadLocationException
        将模型中的给定范围渲染为所选文本。 这被实现为以主机组件中指定的颜色呈现文本。 它假设荧光笔将渲染所选的背景。
        参数
        g - 图形上下文
        x - 起始X坐标 >= 0
        y - 起始Y坐标 >= 0
        p0 - 模型中的起始位置 >= 0
        p1 - 模型中的结束位置 >= 0
        结果
        位置的范围结束
        异常
        BadLocationException - 如果范围无效
        从以下版本开始:
        9
      • getLineBuffer

        protected final Segment getLineBuffer​()
        可以访问可用于从相关文档中获取文本的缓冲区。
        结果
        缓冲区
      • updateMetrics

        protected void updateMetrics​()
        检查字体指标和最长行是否是最新的。
        从以下版本开始:
        1.4
      • getPreferredSpan

        public float getPreferredSpan​(int axis)
        确定沿着轴的此视图的首选跨度。
        Specified by:
        getPreferredSpanView
        参数
        axis - 可以是View.X_AXIS或View.Y_AXIS
        结果
        视图想要呈现为> = 0的跨度。通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
        异常
        IllegalArgumentException - 对于无效轴
        另请参见:
        View.getPreferredSpan(int)
      • paint

        public void paint​(Graphics g,
                          Shape a)
        渲染使用给定的渲染表面和该表面上的区域。 该视图可能需要进行布局并创建子视图,以使其自身能够呈现给定的分配。
        Specified by:
        paintView
        参数
        g - 要使用的渲染表面
        a - 要分配的区域
        另请参见:
        View.paint(java.awt.Graphics, java.awt.Shape)
      • setSize

        public void setSize​(float width,
                            float height)
        设置视图的大小。 这应该导致沿着给定轴的视图的布局,如果它有任何布局义务。
        重写:
        setSizeView
        参数
        width - width> = 0
        height - height> = 0
      • nextTabStop

        public float nextTabStop​(float x,
                                 int tabOffset)
        返回给定参考位置后的下一个制表位置停止位置。 这个实现不支持像中心的东西,所以它忽略了tabOffset参数。
        Specified by:
        nextTabStop在接口 TabExpander
        参数
        x - 当前位置> = 0
        tabOffset - 标签出现在> = 0的文本流内的位置。
        结果
        标签停止,以>> 0测量
      • updateDamage

        protected void updateDamage​(DocumentEvent changes,
                                    Shape a,
                                    ViewFactory f)
        重印给定文件事件所涉及的变化区域。 当插入/移除仅在一行时,损害开始范围的行以覆盖案例。 如果添加或删除行,将损害整个视图。 检查最长的行是否已更改。
        参数
        changes - 相关文件的变更信息
        a - 视图的当前分配
        f - 工厂用来重建如果视图有孩子
        从以下版本开始:
        1.4
      • damageLineRange

        protected void damageLineRange​(int line0,
                                       int line1,
                                       Shape a,
                                       Component host)
        重复给定行范围。
        参数
        host - 托管视图的组件(用于调用重绘)
        a - 分配给视图进行渲染的区域
        line0 - 要重绘的起始行号。 这必须是模型中有效的行号。
        line1 - 要重绘的结束行号。 这必须是模型中有效的行号。
        从以下版本开始:
        1.4
      • lineToRect

        protected Rectangle lineToRect​(Shape a,
                                       int line)
        确定表示给定行的矩形。
        参数
        a - 分配给视图进行渲染的区域
        line - 找到该区域的行号。 这必须是模型中有效的行号。
        结果
        表示给定行的矩形
        从以下版本开始:
        1.4