Class Paragraph

java.lang.Object
org.ofdrw.layout.element.Div<Paragraph>
org.ofdrw.layout.element.Paragraph
All Implemented Interfaces:
ElementSplit, RenderPrepare

public class Paragraph extends Div<Paragraph>
段落

绘制行为详见渲染器:ParagraphRender

Since:
2020-02-03 01:27:20
Author:
权观宇
  • Constructor Details

    • Paragraph

      public Paragraph(Double width, Double height)
      创建一个固定大小段落对象
      Parameters:
      width - 内容宽度
      height - 内容高度
    • Paragraph

      public Paragraph()
      创建一个段落对象

      注意如果不主动对 Paragraph 设置宽度,那么Paragraph 会独占整个段,并且与段具有相同宽度,也就是页面宽度, 在需要更加细致盒式的布局时 请设置Div.setClear(Clear) 并设置段落宽度 Div.setWidth(Double)

    • Paragraph

      public Paragraph(double x, double y, double width, double height)
      创建绝对定位段落对象
      Parameters:
      x - 固定布局的盒式模型左上角X坐标
      y - 固定布局的盒式模型左上角y坐标
      width - 宽度
      height - 高度
    • Paragraph

      public Paragraph(double x, double y, double width, double height, String text, double fontSize)
      创建绝对定位段落对象
      Parameters:
      x - 固定布局的盒式模型左上角X坐标
      y - 固定布局的盒式模型左上角y坐标
      width - 宽度
      height - 高度
      text - 文本内容
      fontSize - 字号
    • Paragraph

      public Paragraph(String text)
      新建一个段落对象

      如果在指定段落中文字大小建议使用Paragraph(java.lang.String, java.lang.Double)

      Parameters:
      text - 文字内容
    • Paragraph

      public Paragraph(String text, Double defaultFontSize)
      新建一个段落对象,并指定文字大小
      Parameters:
      text - 文字内容
      defaultFontSize - 默认字体大小。
    • Paragraph

      public Paragraph(String text, Double defaultFontSize, Font defaultFont)
      新建一个段落对象,并指定文字大小和字体
      Parameters:
      text - 文字内容
      defaultFontSize - 默认字体大小
      defaultFont - 默认字体
    • Paragraph

      public Paragraph(String text, Font defaultFont)
      新建一个段落对象,并指定字体
      Parameters:
      text - 文字内容
      defaultFont - 默认字体
  • Method Details

    • add

      public Paragraph add(String text)
      增加段落中的文字

      文字样式使用span默认字体样式

      Parameters:
      text - 文本内容
      Returns:
      this
    • add

      public Paragraph add(Span content)
      加入带有特殊样式文字内容
      Parameters:
      content - 特殊样式文字内容
      Returns:
      this
    • getLineSpace

      public Double getLineSpace()
    • setLineSpace

      public Paragraph setLineSpace(Double lineSpace)
    • getDefaultFont

      public Font getDefaultFont()
    • setDefaultFont

      public Paragraph setDefaultFont(Font defaultFont)
    • setDefaultFont

      public Paragraph setDefaultFont(Font defaultFont, boolean refreshBeforeAdd)
      设置默认字体

      注意:在设置 defaultFont 之前被添加的内容,不会在调用 defaultFont 方法后而改变,除非指定 refreshBeforeAdd=true

      Parameters:
      defaultFont - 默认字体
      refreshBeforeAdd - 是否对之前add的text内容应用这个字体
      Returns:
      this
    • getFontSize

      public Double getFontSize()
    • setFontSize

      public Paragraph setFontSize(Double defaultFontSize)
      设置段落内默认的字体大小

      如果加入的文字没有设置大小,那么默认使用该值。

      注意:该操作不会对段落内已经存在的文字生效, 因此在添加文字之后,在调用该方法,原有的文字大小不会变换。

      Parameters:
      defaultFontSize - 默认字体大小
      Returns:
      this
    • setFontSize

      public Paragraph setFontSize(Double defaultFontSize, boolean refreshBeforeAdd)
      设置段落内默认的字体大小

      如果加入的文字没有设置大小,那么默认使用该值。

      注意:该操作不会对段落内已经存在的文字生效, 因此在添加文字之后,在调用该方法,原有的文字大小不会变换。 你可以指定 refreshBeforeAdd=true 来使之前添加的内容也生效。

      Parameters:
      defaultFontSize - 默认字体大小
      refreshBeforeAdd - 是否刷新之前添加的内容
      Returns:
      this
    • getContents

      public LinkedList<Span> getContents()
    • setContents

      public Paragraph setContents(List<Span> contents)
    • getLines

      public LinkedList<TxtLineBlock> getLines()
    • getFirstLineIndent

      public Integer getFirstLineIndent()
      获取首行缩进字符数
      Returns:
      首行缩进字符数 null表示没有缩进
    • setFirstLineIndent

      public Paragraph setFirstLineIndent(Integer firstLineIndent)
      设置段落首行缩进

      默认不缩进

      Parameters:
      firstLineIndent - 缩进字符数null或0表示不缩进
      Returns:
      this
    • getFirstLineIndentWidth

      public Double getFirstLineIndentWidth()
      获取首行缩进数值

      该方法仅在已经设置了首行缩进数值的情况下才会返还正确的数值,否则返还null

      Returns:
      首行缩进数值或null
    • setFirstLineIndentWidth

      public Paragraph setFirstLineIndentWidth(double firstLineIndentWidth)
      设置段落首行缩进数值
      Parameters:
      firstLineIndentWidth - 首行缩进数值(单位:mm)
      Returns:
      this
    • clearFirstLineIndent

      public Paragraph clearFirstLineIndent()
      清除缩进格式
      Returns:
      this
    • setTextAlign

      public Paragraph setTextAlign(TextAlign textAlign)
      设置段落内字体浮动

      默认为左浮动

      Parameters:
      textAlign - 浮动方向
      Returns:
      this
    • getTextAlign

      public TextAlign getTextAlign()
      获取段落内字体浮动

      默认为左浮动

      Returns:
      浮动方向
    • doPrepare

      public Rectangle doPrepare(Double widthLimit)
      预布局

      该方法主要有渲染器调用,请勿主动调用该方法,除非你知道你在做什么。

      Specified by:
      doPrepare in interface RenderPrepare
      Overrides:
      doPrepare in class Div<Paragraph>
      Parameters:
      widthLimit - 宽度限制
      Returns:
      元素尺寸
    • contentSplitAdjust

      public <T extends Div> Div[] contentSplitAdjust(double sHeight, T div1, T div2)
      Description copied from class: Div
      内容分割调整

      根据分割高度调整两个克隆元素,达成分割元素的效果

      Overrides:
      contentSplitAdjust in class Div<Paragraph>
      Type Parameters:
      T - Div子类泛型参数
      Parameters:
      sHeight - 分割内容的高度
      div1 - 克隆元素1
      div2 - 克隆元素2
      Returns:
      分割调整后的两个Div
    • clone

      public Paragraph clone()
      请勿调用该方法克隆段落,除非你知道你在干什么
      Overrides:
      clone in class Div<Paragraph>
      Returns:
      属性一模一样,但是没有任何内容的段落
    • elementType

      public String elementType()
      元素类型

      关联渲染器:ParagraphRender

      Overrides:
      elementType in class Div<Paragraph>
      Returns:
      Paragraph