模块  java.desktop
软件包  javax.swing.text

Class WrappedPlainView

  • 实现的所有接口
    SwingConstantsTabExpander

    public class WrappedPlainView
    extends BoxView
    implements TabExpander
    执行换行的纯文本(只有一种字体和颜色的文本)视图。 此视图期望其关联元素具有表示应包装的行的子元素。 它实现为包含逻辑线视图的垂直框。 逻辑行视图是嵌套类,如果逻辑行太宽而不适合分配,则将逻辑行呈现为多个物理行。 线视图在外部类上绘制其状态以减少其内存需求。

    线视图通过drawLine方法完成所有渲染,而drawSelectedText通过drawSelectedTextdrawUnselectedText方法完成所有渲染。 这使得子类可以轻松地专门化渲染,而无需考虑布局方面。

    另请参见:
    View
    • 构造方法详细信息

      • WrappedPlainView

        public WrappedPlainView​(Element elem)
        创建一个新的WrappedPlainView。 线条将包裹在字符边界上。
        参数
        elem - 视图下的元素
      • WrappedPlainView

        public WrappedPlainView​(Element elem,
                                boolean wordWrap)
        创建一个新的WrappedPlainView。 根据wordWrap参数的设置,行可以包含在字符或字边界上。
        参数
        elem - 视图下的元素
        wordWrap - 应该将行包装在字边界上吗?
    • 方法详细信息

      • getTabSize

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

        protected void drawLine​(int p0,
                                int p1,
                                Graphics2D g,
                                float x,
                                float y)
        呈现一行文本,在末尾抑制空格并展开任何选项卡。 实现此方法是为了调用方法drawUnselectedTextdrawSelectedText以便可以自定义呈现选定和未选定文本的方式。
        参数
        p0 - 要使用的起始文档位置> = 0
        p1 - 要使用的结束文档位置> = p1
        g - 图形上下文
        x - 起始X位置> = 0
        y - 起始Y位置> = 0
        从以下版本开始:
        9
        另请参见:
        drawUnselectedText(java.awt.Graphics, int, int, int, int)drawSelectedText(java.awt.Graphics, int, int, int, int)
      • 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 - 模型中的结束位置> = p0
        结果
        范围结束的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 - 模型中的结束位置> = p0
        结果
        范围结束的位置。
        异常
        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 - 模型中的结束位置> = p0
        结果
        范围结束的位置。
        异常
        BadLocationException - 如果范围无效
        从以下版本开始:
        9
      • getLineBuffer

        protected final Segment getLineBuffer()
        提供对可用于从关联文档中提取文本的缓冲区的访问权限。
        结果
        缓冲区
      • calculateBreakPosition

        protected int calculateBreakPosition​(int p0,
                                             int p1)
        这由嵌套的包装线视图调用以确定中断位置。 这可以重新实现以改变破坏行为。 它将根据构造中给出的break参数在字或边界处断开。
        参数
        p0 - 起始文档位置
        p1 - 要使用的结束文档位置
        结果
        休息时间
      • nextTabStop

        public float nextTabStop​(float x,
                                 int tabOffset)
        返回给定参考位置后的下一个制表位。 此实现不支持居中等内容,因此忽略了tabOffset参数。
        Specified by:
        nextTabStop接口 TabExpander
        参数
        x - 当前位置> = 0
        tabOffset - 选项卡出现在> = 0的文本流中的位置。
        结果
        制表位,以点> = 0测量
      • paint

        public void paint​(Graphics g,
                          Shape a)
        使用给定的渲染表面和该表面上的区域进行渲染。 实现此操作是为了隐藏要使用的嵌套行的选择位置,选择颜色和字体度量。
        重写:
        paint类, BoxView
        参数
        g - 要使用的渲染表面
        a - 要分配的区域
        另请参见:
        View.paint(java.awt.Graphics, java.awt.Shape)
      • setSize

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

        public float getPreferredSpan​(int axis)
        确定此视图沿轴的首选跨度。 实现此目的是为了在首先确保缓存当前字体度量标准之后提供超类行为(对于使用度量标准来确定可能包装的行的高度的嵌套行)。
        重写:
        getPreferredSpan类, BoxView
        参数
        axis - 可以是View.X_AXIS或View.Y_AXIS
        结果
        视图想要渲染的范围。 通常情况下,视图会被告知渲染到返回的范围内,但不能保证。 父母可以选择调整视图大小或打破视图。
        另请参见:
        View.getPreferredSpan(int)
      • getMinimumSpan

        public float getMinimumSpan​(int axis)
        确定此视图沿轴的最小跨度。 实现此目的是为了在首先确保缓存当前字体度量标准之后提供超类行为(对于使用度量标准来确定可能包装的行的高度的嵌套行)。
        重写:
        getMinimumSpan类, BoxView
        参数
        axis - 可以是View.X_AXIS或View.Y_AXIS
        结果
        视图想要渲染的范围。 通常情况下,视图会被告知渲染到返回的范围内,但不能保证。 父母可以选择调整视图大小或打破视图。
        另请参见:
        View.getMinimumSpan(int)
      • getMaximumSpan

        public float getMaximumSpan​(int axis)
        确定此视图沿轴的最大跨度。 实现此目的是为了在首先确保缓存当前字体度量标准之后提供超类行为(对于使用度量标准来确定可能包装的行的高度的嵌套行)。
        重写:
        getMaximumSpanBoxView
        参数
        axis - 可以是View.X_AXIS或View.Y_AXIS
        结果
        视图想要渲染的范围。 通常情况下,视图会被告知渲染到返回的范围内,但不能保证。 父母可以选择调整视图大小或打破视图。
        另请参见:
        View.getMaximumSpan(int)