Package org.apache.poi.xslf.usermodel
Class XSLFGroupShape
- java.lang.Object
-
- org.apache.poi.xslf.usermodel.XSLFShape
-
- org.apache.poi.xslf.usermodel.XSLFGroupShape
-
- All Implemented Interfaces:
java.lang.Iterable<XSLFShape>
,GroupShape<XSLFShape,XSLFTextParagraph>
,PlaceableShape<XSLFShape,XSLFTextParagraph>
,Shape<XSLFShape,XSLFTextParagraph>
,ShapeContainer<XSLFShape,XSLFTextParagraph>
,XSLFShapeContainer
@Beta public class XSLFGroupShape extends XSLFShape implements XSLFShapeContainer, GroupShape<XSLFShape,XSLFTextParagraph>
Represents a group shape that consists of many shapes grouped together.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addShape(XSLFShape shape)
void
clear()
Removes all of the elements from this container (optional operation).XSLFAutoShape
createAutoShape()
create a new shape with a predefined geometry and add it to this shape containerXSLFConnectorShape
createConnector()
create a connectorXSLFFreeformShape
createFreeform()
create a new shape with a custom geometryXSLFGroupShape
createGroup()
create a group of shapes belonging to this containerXSLFObjectShape
createOleShape(PictureData pictureData)
Create a new OLE object shape with the given pictureData as preview imageXSLFPictureShape
createPicture(PictureData pictureData)
create a picture belonging to this containerXSLFTable
createTable()
XSLFTable
createTable(int numRows, int numCols)
Create a new Table of the given number of rows and columnsXSLFTextBox
createTextBox()
create a text boxjava.awt.geom.Rectangle2D
getAnchor()
Returns the anchor (the bounding box rectangle) of this shape.boolean
getFlipHorizontal()
Whether the shape is horizontally flippedboolean
getFlipVertical()
Whether the shape is vertically flippedjava.awt.geom.Rectangle2D
getInteriorAnchor()
Gets the coordinate space of this group.double
getRotation()
Rotation angle in degreesjava.util.List<XSLFShape>
getShapes()
Returns an list containing all of the elements in this container in proper sequence (from first to last element).java.util.Iterator<XSLFShape>
iterator()
Returns an iterator over the shapes in this sheetboolean
removeShape(XSLFShape xShape)
Remove the specified shape from this groupvoid
setAnchor(java.awt.geom.Rectangle2D anchor)
void
setFlipHorizontal(boolean flip)
void
setFlipVertical(boolean flip)
Whether the shape is vertically flippedvoid
setInteriorAnchor(java.awt.geom.Rectangle2D anchor)
Sets the coordinate space of this group.void
setRotation(double theta)
Rotate this shape.-
Methods inherited from class org.apache.poi.xslf.usermodel.XSLFShape
draw, getParent, getPlaceholder, getPlaceholderDetails, getShapeId, getShapeName, getSheet, getXmlObject, isPlaceholder, setParent, setPlaceholder
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.poi.sl.usermodel.PlaceableShape
getParent, getSheet
-
Methods inherited from interface org.apache.poi.sl.usermodel.Shape
draw, getParent, getShapeId, getShapeName, getSheet
-
-
-
-
Method Detail
-
getAnchor
public java.awt.geom.Rectangle2D getAnchor()
Description copied from interface:Shape
Returns the anchor (the bounding box rectangle) of this shape. All coordinates are expressed in points (72 dpi).- Specified by:
getAnchor
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Specified by:
getAnchor
in interfaceShape<XSLFShape,XSLFTextParagraph>
- Returns:
- the anchor of this shape
-
setAnchor
public void setAnchor(java.awt.geom.Rectangle2D anchor)
- Specified by:
setAnchor
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Parameters:
anchor
- the position of this shape within the drawing canvas. The coordinates are expressed in points
-
getInteriorAnchor
public java.awt.geom.Rectangle2D getInteriorAnchor()
Description copied from interface:GroupShape
Gets the coordinate space of this group. All children are constrained to these coordinates.- Specified by:
getInteriorAnchor
in interfaceGroupShape<XSLFShape,XSLFTextParagraph>
- Returns:
- the coordinates of the child extents rectangle used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.
-
setInteriorAnchor
public void setInteriorAnchor(java.awt.geom.Rectangle2D anchor)
Description copied from interface:GroupShape
Sets the coordinate space of this group. All children are constrained to these coordinates.- Specified by:
setInteriorAnchor
in interfaceGroupShape<XSLFShape,XSLFTextParagraph>
- Parameters:
anchor
- the coordinates of the child extents rectangle used for calculations of grouping, scaling, and rotation behavior of shapes placed within a group.
-
getShapes
public java.util.List<XSLFShape> getShapes()
Description copied from interface:ShapeContainer
Returns an list containing all of the elements in this container in proper sequence (from first to last element).- Specified by:
getShapes
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Returns:
- child shapes contained within this group
-
iterator
public java.util.Iterator<XSLFShape> iterator()
Returns an iterator over the shapes in this sheet- Specified by:
iterator
in interfacejava.lang.Iterable<XSLFShape>
- Returns:
- an iterator over the shapes in this sheet
-
removeShape
public boolean removeShape(XSLFShape xShape)
Remove the specified shape from this group- Specified by:
removeShape
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Parameters:
xShape
- the shape to be removed from this sheet, if present- Returns:
- true if this sheet contained the specified element
-
createAutoShape
public XSLFAutoShape createAutoShape()
Description copied from interface:ShapeContainer
create a new shape with a predefined geometry and add it to this shape container- Specified by:
createAutoShape
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createAutoShape
in interfaceXSLFShapeContainer
-
createFreeform
public XSLFFreeformShape createFreeform()
Description copied from interface:ShapeContainer
create a new shape with a custom geometry- Specified by:
createFreeform
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createFreeform
in interfaceXSLFShapeContainer
-
createTextBox
public XSLFTextBox createTextBox()
Description copied from interface:ShapeContainer
create a text box- Specified by:
createTextBox
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createTextBox
in interfaceXSLFShapeContainer
-
createConnector
public XSLFConnectorShape createConnector()
Description copied from interface:ShapeContainer
create a connector- Specified by:
createConnector
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createConnector
in interfaceXSLFShapeContainer
-
createGroup
public XSLFGroupShape createGroup()
Description copied from interface:ShapeContainer
create a group of shapes belonging to this container- Specified by:
createGroup
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createGroup
in interfaceXSLFShapeContainer
-
createPicture
public XSLFPictureShape createPicture(PictureData pictureData)
Description copied from interface:ShapeContainer
create a picture belonging to this container- Specified by:
createPicture
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Specified by:
createPicture
in interfaceXSLFShapeContainer
-
createOleShape
public XSLFObjectShape createOleShape(PictureData pictureData)
Description copied from interface:ShapeContainer
Create a new OLE object shape with the given pictureData as preview image- Specified by:
createOleShape
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Parameters:
pictureData
- the preview image
-
createTable
public XSLFTable createTable()
-
createTable
public XSLFTable createTable(int numRows, int numCols)
Description copied from interface:ShapeContainer
Create a new Table of the given number of rows and columns- Specified by:
createTable
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
- Parameters:
numRows
- the number of rowsnumCols
- the number of columns
-
setFlipHorizontal
public void setFlipHorizontal(boolean flip)
- Specified by:
setFlipHorizontal
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Parameters:
flip
- whether the shape is horizontally flipped
-
setFlipVertical
public void setFlipVertical(boolean flip)
Description copied from interface:PlaceableShape
Whether the shape is vertically flipped- Specified by:
setFlipVertical
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Parameters:
flip
- whether the shape is vertically flipped
-
getFlipHorizontal
public boolean getFlipHorizontal()
Description copied from interface:PlaceableShape
Whether the shape is horizontally flipped- Specified by:
getFlipHorizontal
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Returns:
- whether the shape is horizontally flipped
-
getFlipVertical
public boolean getFlipVertical()
Description copied from interface:PlaceableShape
Whether the shape is vertically flipped- Specified by:
getFlipVertical
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Returns:
- whether the shape is vertically flipped
-
setRotation
public void setRotation(double theta)
Description copied from interface:PlaceableShape
Rotate this shape.Positive angles are clockwise (i.e., towards the positive y axis); negative angles are counter-clockwise (i.e., towards the negative y axis).
- Specified by:
setRotation
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Parameters:
theta
- the rotation angle in degrees.
-
getRotation
public double getRotation()
Description copied from interface:PlaceableShape
Rotation angle in degreesPositive angles are clockwise (i.e., towards the positive y axis); negative angles are counter-clockwise (i.e., towards the negative y axis).
- Specified by:
getRotation
in interfacePlaceableShape<XSLFShape,XSLFTextParagraph>
- Returns:
- rotation angle in degrees
-
clear
public void clear()
Removes all of the elements from this container (optional operation). The container will be empty after this call returns.- Specified by:
clear
in interfaceXSLFShapeContainer
-
addShape
public void addShape(XSLFShape shape)
- Specified by:
addShape
in interfaceShapeContainer<XSLFShape,XSLFTextParagraph>
-
-