Painters are a sort of user interface delegate for drawing foregrounds and backgrounds. SwingX includes some built-in painters:
- AlphaPainter
- BusyPainter
- CapsulePainter
- CheckerboardPainter
- CompoundPainter
- GlossPainter
- ImagePainter
- MattePainter
- PinstripePainter
- RectanglePainter
- TextPainter
- URLPainter CompoundPainter, as its name indicates, is a collection of other Painters. Order is important. CompoundPainters build from back to front. Here is an example of a CompoundPainter:
Java class name:AlphaPainter
SwingXBuilder node: alphaPainter
Attribute
Expected Type
alpha
float
painters
ArrayList<Painter> or Painter[]
Java class name:BusyPainter
SwingXBuilder node: busyPainter
Attribute
Expected Type
barLength
float
barWidth
float
baseColor
Color
Java class name:CapsulePainter
SwingXBuilder node: capsulePainter
Attribute
Expected Type
portion
CapsulePainter.Portion
Java class name:CheckerboardPainter
SwingXBuilder node: checkerboardPainter
Attribute
Expected Type
squareSize
float
lightPaint
Color
darkPaint
Color
Java class name:ImagePainter
SwingXBuilder node: imagePainter
Attribute
Expected Type
image
BufferedImage
url
URL
style
AbstractAreaPainter.Style
horizontal
AbstractLayoutPainter.HorizontalAlignment
vertical
AbstractLayoutPainter.VerticalAlignment
 AlphaPainter is a CompoundPainter as well, adding an alpha value to a collection of Painters.Code Block comp = swing.compoundPainter(clipPreserved:true) { rectanglePainter(borderWidth:3f, borderPaint:Color.BLACK, areaEffects:new GlowPathEffect(), roundHeight:40, roundWidth:40, insets: [3,3,3,3], paintStretched:true,style:AbstractAreaPainter.Style.FILLED, fillPaint:grad) pinstripePainter(paint:[204,0,0,36] as Color,angle:45, stripeWidth:8, spacing:8) }