多角形を描画するには
* Polygon(ポリゴン)を使用する
サンプル
色々な三角形
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Polygon;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class CustomSwing {
public static void main(String[] args) {
JFrame frame = new JFrame("Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
// 例1 : 上向き三角形(▲)
g2.setPaint(Color.LIGHT_GRAY);
Polygon ex1Polygon = new Polygon();
ex1Polygon.addPoint(100, 20);
ex1Polygon.addPoint(90, 35);
ex1Polygon.addPoint(110, 35);
g2.fill(ex1Polygon);
// 例2 : 左向き三角形
g2.setPaint(Color.GRAY);
Polygon ex2Polygon = new Polygon();
ex2Polygon.addPoint(90, 35);
ex2Polygon.addPoint(80, 45);
ex2Polygon.addPoint(90, 55);
g2.fill(ex2Polygon);
// 例3 : 下向き三角形(▼)
g2.setPaint(Color.LIGHT_GRAY);
Polygon ex3Polygon = new Polygon();
ex3Polygon.addPoint(90, 55);
ex3Polygon.addPoint(100, 70);
ex3Polygon.addPoint(110, 55);
g2.fill(ex3Polygon);
// 例4 : 右向き三角形
g2.setPaint(Color.GRAY);
Polygon ex4Polygon = new Polygon();
ex4Polygon.addPoint(110, 55);
ex4Polygon.addPoint(120, 45);
ex4Polygon.addPoint(110, 35);
g2.fill(ex4Polygon);
}
};
frame.add(panel);
frame.pack();
frame.setSize(320, 160);
frame.setVisible(true);
}
}