Javaexamples-gui-polygon

提供:Dev Guides
移動先:案内検索

Javaの例-GUIを使用してポリゴンを表示

問題の説明

GUIを使用してポリゴンを描画する方法は?

溶液

次の例は、Polygon()オブジェクトを作成してポリゴンを描画する方法を示しています。 addPoint()およびdrawPolygon()メソッドを使用して、ポリゴンを描画します。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Main extends JPanel {
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      Polygon p = new Polygon();
      for (int i = 0; i < 5; i++) p.addPoint((int) (
         100 + 50 *Math.cos(i* 2 *Math.PI/5)),(int) (100 + 50* Math.sin(
         i *2* Math.PI/5)));
      g.drawPolygon(p);
   }
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      frame.setTitle("Polygon");
      frame.setSize(350, 250);

      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
         }
      });
      Container contentPane = frame.getContentPane();
      contentPane.add(new Main());
      frame.setVisible(true);
   }
}

結果

上記のコードサンプルは、次の結果を生成します。

Polygon is displayed in a frame.

以下は、GUIを使用してポリゴンを描画する別のサンプル例です。

import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Polygon;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class Panel extends JPanel {
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      Polygon p = new Polygon();
      for (int i = 0; i < 5; i++) p.addPoint((int) (
         100 + 50 *Math.cos(i* 2 *Math.PI/5)),(int) (
         100 + 50* Math.sin(i *2* Math.PI/5)));

      g.drawPolygon(p);
   }
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      frame.getContentPane().setBackground(Color.YELLOW);
      frame.setTitle("DrawPoly");
      frame.setSize(350, 250);
      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
         }
      });
      Container contentPane = frame.getContentPane();
      contentPane.add(new Panel());
      frame.show();
   }
}

上記のコードサンプルは、次の結果を生成します。

Polygon is displayed in a frame.