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

Class WrappedPlainView

  • All Implemented Interfaces:
    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。
        结果
        标签大小
      • 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)
        这被嵌套的包装线视图调用来确定断点位置。 这可以被重新实现以改变破坏行为。 根据施工中的断裂说明,它将以字或字符边界断裂。
        参数
        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)
        渲染使用给定的渲染表面和该表面上的区域。 这被实现为隐藏要使用的嵌套行的选择位置,选择颜色和字体度量。
        重写:
        paintBoxView
        参数
        g - 要使用的渲染表面
        a - 要分配的区域
        另请参见:
        View.paint(java.awt.Graphics, java.awt.Shape)
      • setSize

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

        public float getPreferredSpan​(int axis)
        确定沿着轴的此视图的首选跨度。 首先确保当前字体指标被缓存(对于使用度量的嵌套行来确定潜在的缠绕行的高度),这是实现为提供超类行为。
        重写:
        getPreferredSpanBoxView
        参数
        axis - 可以是View.X_AXIS或View.Y_AXIS
        结果
        视图想要渲染的跨度。 通常,视图被呈现到返回的跨度,尽管不能保证。 父母可以选择调整大小或打破视图。
        另请参见:
        View.getPreferredSpan(int)
      • getMinimumSpan

        public float getMinimumSpan​(int axis)
        确定此视图沿轴的最小跨度。 首先确保当前字体指标被缓存(对于使用度量的嵌套行来确定潜在的缠绕行的高度),这是实现为提供超类行为。
        重写:
        getMinimumSpanBoxView
        参数
        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)