Java で三角形を描く
-
Java で三角形を描くには
java.awt
とjavax.swing
をPath2D
と一緒に使用する -
Java で三角形を描くには
java.awt
、javax.swing
、drawPolygon
を使用する -
Java で
drawLine()
を使って三角形を描く
この記事では、Java で三角形を描く方法を学びます。グラフィカルなプログラミングアプリケーションのための Java 開発パッケージの中で最も古いものである AWT
(Abstract Window Component Toolkit) を使用します。Swing
は、AWT
をベースに新しく開発された Java 用 GUI ウィジェットキットで、より多くの機能を備えています。
Java で三角形を描くには java.awt
と javax.swing
を Path2D
と一緒に使用する
ボタンやテキストフィールドなどのコンポーネントを追加して GUI(Graphical User Interface)を作成するためのメインウィンドウを作成するには、main
クラスの JFrame
を使用します。クラス Draw_A_Triangle
は JPanel
を継承しています。JPanel
は frame.add()
メソッドを使って JFrames
に追加します。
Triangle_Shape
クラスは Path2D
クラスを拡張したもので、任意の幾何学的なパスを表現するシンプルで柔軟な形状を提供します。最初の点は moveTo()
メソッドを用いて配置し、追加の点は LineTo()
メソッドを用いて配置します。close()
メソッドは三角形が適切に閉じられていることを確認します。
paintComponent()
メソッドは、パネルが作成されたときやユーザがユーザインタフェースで再描画を必要とする操作を行ったときに自動的に呼び出されています。Graphics2D
は色管理、ジオメトリ、テキストレイアウトをより制御することができます。最後に、g2d
を使って draw
を呼び出して三角形を描きます。
import java.awt.*;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import javax.swing.*;
public class Draw_A_Triangle extends JPanel {
public void paintComponent(Graphics g) {
Triangle_Shape triangleShape = new Triangle_Shape(
new Point2D.Double(50, 0), new Point2D.Double(100, 100), new Point2D.Double(0, 100));
Graphics2D g2d = (Graphics2D) g.create();
g2d.draw(triangleShape);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Draw Triangle");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.white);
frame.setSize(200, 200);
Draw_A_Triangle panel = new Draw_A_Triangle();
frame.add(panel);
frame.setVisible(true);
}
}
class Triangle_Shape extends Path2D.Double {
public Triangle_Shape(Point2D... points) {
moveTo(points[0].getX(), points[0].getY());
lineTo(points[1].getX(), points[1].getY());
lineTo(points[2].getX(), points[2].getY());
closePath();
}
}
出力:
Java で三角形を描くには java.awt
、javax.swing
、drawPolygon
を使用する
JFrame
を使ってトップレベルのコンテナを作成し、そこに JPanel
を継承した DrawATriangle
クラスであるパネルを追加します。
下のコードに示すように、paintComponent
の中の drawPolygon
メソッドを呼び出して Graphics
オブジェクト g
に三角形を作成します。
drawPolygon(int x[], int y[], int numOfPoints)
メソッドは、x[]
配列と y[]
配列で指定された座標に従ってアウトラインポリゴンを描画します。numOfPoints
は三角形の場合は 3 点を指定します。
import java.awt.*;
import javax.swing.*;
public class DrawATriangle extends JPanel {
public void paintComponent(Graphics g) {
int[] x = {50, 100, 0};
int[] y = {0, 100, 100};
g.drawPolygon(x, y, 3);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Draw a Polygon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.white);
frame.setSize(300, 200);
DrawATriangle panel = new DrawATriangle();
frame.add(panel);
frame.setVisible(true);
}
}
出力:
Java で drawLine()
を使って三角形を描く
DrawTriangle
クラスでは、JComponent
を拡張して paintCompnent()
や JFrame
のような Swing
コンポーネントを使用するようにしています。パラメータ g
で Graphics
をオーバーライドし、これを使っていくつかの描画関数を呼び出すことができます。
線を描画するために drawLine()
メソッドを呼び出す。3 本の線で構成される三角形を作成したいので、drawLine()
を 3 回呼び出す必要があります。drawLine()
は 4つの引数をとり、線の 1 点目と 2 点目の x と y の座標を指定します。
戻り値の型は Dimension
であり、ウィンドウの寸法を指定するために getPreferredSize()
メソッドを呼び出す。最後に、三角形を表示するために、main
メソッドで JFrame
オブジェクトを作成し、そこに DrawTriangle
クラスのオブジェクトを追加します。初期状態ではフレームは見えないので、jFrame.setVisible(true)
を呼び出す必要があることに注意してください。
import java.awt.*;
import javax.swing.*;
public class DrawTriangle extends JComponent {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(120, 130, 280, 130);
g.drawLine(120, 130, 200, 65);
g.drawLine(200, 65, 280, 130);
}
public Dimension getPreferredSize() {
return new Dimension(500, 300);
}
public static void main(String[] args) {
JFrame jFrame = new JFrame();
jFrame.add(new DrawTriangle());
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
}
}
出力:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn