【Java】【Swing】 多角形を描画するには... ~ Polygon ~

多角形を描画するには

 * 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);
  }
}