T - 链式调用返还值,Div的子类public class Div<T extends Div> extends Object implements RenderPrepare, ElementSplit
每个继承Div的对象都不必须提供泛型参数T,用于简化链式调用。
绘制行为详见渲染器:DivRender
| Constructor and Description |
|---|
Div() |
Div(Double width,
Double height) |
Div(double x,
double y,
double width,
double height)
创建绝对定位的Div对象
|
public Div()
public Div(double x,
double y,
double width,
double height)
x - 固定布局的盒式模型左上角X坐标y - 固定布局的盒式模型左上角y坐标width - 宽度height - 高度public boolean isNoBorder()
public boolean isBlockElement()
块元素将会独占整个段
绝对定位默认不为块级元素
public Double getOpacity()
public T setOpacity(Double opacity)
0 - 表示全透明, 1 - 表示不透明
opacity - 透明度取值区间 [0,1]public int[] getBorderColor()
public T setBorderColor(int r, int g, int b)
r - 红色值(0~255)g - 绿色值(0~255)b - 蓝色值(0~255)public T setBorderColor(int[] rgb)
rgb - RGB数组,null 表示无色。public T setBorderColor(String color)
color - 颜色值,可以是 16进制值 "#FFFFFF"、 16进制值缩写 "#FF"F、RGB "rgb(255,255,255)"、颜色名称 "white"public Double getTop()
public Position getPosition()
public int[] getBackgroundColor()
public T setBackgroundColor(int r, int g, int b)
r - 红色值(0~255)g - 绿色值(0~255)b - 蓝色值(0~255)public T setBackgroundColor(String color)
color - 颜色值,可以是 16进制值 "#FFFFFF"、 16进制值缩写 "#FF"F、RGB "rgb(255,255,255)"、颜色名称 "white"public T setBackgroundColor(int[] backgroundColor)
backgroundColor - RGB数组public Double getWidth()
public Double getHeight()
public Double[] getPadding()
一定返回4个元素的数组
public T setPadding(Double... padding)
根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
padding - 内边距,可变参数。public Double[] getBorder()
public T setBorder(Double... border)
根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
border - 边框宽度,可变参数。public T setBorderDash(Double... dash)
取消虚线:setBorderDash(null)
设置虚线 与 空白相同 3:setBorderDash(3d)
设置虚线的 长度 3 与空白 2: setBorderDash(3d, 2d)
设置虚线的长度 3、空白 2、偏移量 1:setBorderDash(1d, 3d, 2d)
dash - 虚线样式,public Double[] getBorderDash()
数组中个元素意义:[虚线偏移量,虚线长度,虚线间隔 ...重复]
public Double[] getMargin()
public T setMargin(Double... margin)
根据参数的参数不同设置涉及到了到 上、右、下、左 各部分参数 1个参数,上、右、下、左 都相同 {arr[0], arr[0], arr[0], arr[0]}
2个参数,上和下相同、左和右相同 {arr[0], arr[1], arr[0], arr[1]}
3个参数,上、右、下、左(0) 分别设置 {arr[0], arr[1], arr[2], 0}
4个参数,上、右、下、左 分别设置 {arr[0], arr[1], arr[2], arr[3]}
margin - 外边距,可变参数。public Double getMarginTop()
public Double getMarginRight()
public Double getMarginBottom()
public Double getMarginLeft()
public Double getBorderTop()
public Double getBorderRight()
public Double getBorderBottom()
public Double getBorderLeft()
public Double getPaddingTop()
public Double getPaddingRight()
public Double getPaddingBottom()
public Double getPaddingLeft()
public Double getX()
public Double getY()
public T setBox(Double x, Double y, Double width, Double height)
x - 左上角X坐标y - 左上角Y坐标width - 宽度height - 高度public Clear getClear()
public AFloat getFloat()
public T setFloat(AFloat aFloat)
注意:如果需要设置居中,那么还需要同时设置 setClear(Clear)
为Clear.none或Clear.right
aFloat - 浮动样式public Double getLeft()
public Double getRight()
public Boolean isIntegrity()
public double widthPlus()
public double heightPlus()
public Rectangle doPrepare(Double widthLimit)
doPrepare in interface RenderPreparewidthLimit - 宽度限制public Rectangle box()
注意:该方法必须在元素内容大小确定的情况才能放回正确的尺寸
也就是说必须在 doPrepare(Double) 或是手动设置宽度和高度之后调用才能返还正确值
public org.ofdrw.core.basicStructure.pageObj.layer.Type getLayer()
默认为Body
public T setLayer(org.ofdrw.core.basicStructure.pageObj.layer.Type layer)
layer - 图层public boolean isPlaceholder()
public T setPlaceholder(boolean placeholder)
placeholder - true 占位符,不参与渲染, false - 非占位符public T setDisplay(Display display)
display - 显示样式 Display.inlineBlock 行内联 或 Display.block 块级public Display getDisplay()
Display.inlineBlock 行内联 或 Display.block 块级public static Div placeholder(double width, double height, AFloat aFloat)
共享段空间,且不可分割
width - 宽度height - 高度aFloat - 浮动方向public static Div placeholder(Rectangle rec, AFloat aFloat)
rec - 矩形区域aFloat - 浮动方向public <T extends Div> T copyTo(T div)
T - 泛型参数div - 目标对象public Div[] split(double sHeight)
截断元素前必须确定元素的宽度和高度,否则将会抛出异常
元素的分割只作用于竖直方向上,水平方向不做分割每次只会截断1次。
截断的元素在截断出均无margin、border、padding
截断后的内容比截断高度高的多
split in interface ElementSplitsHeight - 切分高度public <T extends Div> Div[] contentSplitAdjust(double sHeight, T div1, T div2)
根据分割高度调整两个克隆元素,达成分割元素的效果
T - Div子类泛型参数sHeight - 分割内容的高度div1 - 克隆元素1div2 - 克隆元素2public String elementType()
用于标识元素类型,选择合适的处理器,自定义元素请重写该方法
关联绘制器:DivRender
public ElementRenderFinishHandler getOnRenderFinish()
public void onRenderFinish(ElementRenderFinishHandler renderFinishHandler)
在该处理器中你可以得到元素在OFD容器的中文件位置和对象ID
renderFinishHandler - 处理器Copyright © 2026. All rights reserved.