Files
swing-examples/Writerside2/topics/Painting.md
2024-06-12 13:10:10 +09:00

66 lines
1.2 KiB
Markdown

# Painting
```java
@Override
public void paint(Graphics g) {
final Graphics2D graphics2D = (Graphics2D) g;
}
```
* `component.paint(Graphics)`
* `paintComponent(Graphics)` -> `paintBorder(Graphics)` -> `paintChildren(Graphics)`
## Graphics2D
* `drawString()`
* `drawImage()`
* `drawLine()`
* `drawArc()` / `drawRect()` / `drawOval()` / `drawPolygon()`
* `draw()`
* `fillArc()` / `fillRect()` / `fillOval()` / `fillPolygon()`
* `fill()`
* `rotate()`
* `scale()`
* `shear()`
* `translate()`
### Stroke
```java
import java.awt.*;
Graphics2D graphics2D = (Graphics2D) g;
BasicStroke stroke = new BasicStroke(1.f,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER,10.f,{10.f},0.f);
graphics2D.setStroke(stroke);
```
#### Join style
* JOIN_BEVEL
* JOIN_MITER
* JOIN_ROUND
#### End-cap style
* CAP_BUTT
* CAP_ROUND
* CAP_SQUARE
### Paint
* `Color`, `GradientPaint`, `TexturePaint`
```java
import java.awt.*;
Paint paint = new GradientPaint(x1,y1,color1,x2,y2,color2);
graphics2D.setPaint(paint);
```
### AffineTransform
* `AffineTransform.getRotateTransform()`
* `AffineTransform.getScaleTransform()`
* `AffineTransform.getShearTransform()`
* `AffineTransform.getTranslateTransform()`