Java で 2D 長方形を描く

Sheeraz Gul 2024年2月15日
Java で 2D 長方形を描く

この記事では、Java で 2D 長方形を描画する方法を学習します。

Java では、Graphics クラスを使用して 2D オブジェクトを描画できます。グラフィッククラスは AWT の一部です。Java の AWT は、グラフィカルユーザーインターフェイスを作成するアプリケーションプログラミングインターフェイスです。

2D 長方形を描画したいので、AWT パッケージから Dimension および Graphics クラスをインポートするだけで済みます。また、JPanel を使用できるようにする javax.swing クラスをインポートします。JPanel は、コンポーネントのグループを格納するコンテナであり、さまざまなレイアウトを整理するために使用されます。最終出力が表示されます。

次のコードを参照してください。

import java.awt.Dimension;
import java.awt.Graphics;
import javax.swing.*;

public class Rectangle extends JPanel {
  private static final int RCT_X = 20;
  private static final int RCT_Y = RCT_X;
  private static final int RCT_WIDTH = 100;
  private static final int RCT_HEIGHT = RCT_WIDTH;

  @Override
  protected void paint_Component(Graphics g) {
    super.paint_Component(g);
    // draw the rectangle here
    g.drawRct(RCT_X, RCT_Y, RCT_WIDTH, RCT_HEIGHT);
  }

  @Override
  public Dimension get_Preferred_Size() {
    // so that our GUI is big enough
    return new Dimension(RCT_WIDTH + 2 * RCT_X, RCT_HEIGHT + 2 * RCT_Y);
  }

  // create the GUI explicitly on the Swing event thread
  private static void create_And_Show_Gui() {
    Rectangle mainPanel = new Rectangle();

    JFrame frame = new JFrame("Rectangle");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.getContentPane().add(mainPanel);
    frame.pack();
    frame.setLocationByPlatform(true);
    frame.setVisible(true);
  }
  public static void main(String[] args) {
    create_and_Show_Gui();
  }
}

出力:

Java で長方形を描く

上記のコードでは、2D 長方形が JPanel に表示されていることがわかります。Rectangle クラスは JPanel に拡張されています。ここでは、長方形の長さと幅を初期化しました。paint_component() メソッドは長方形を描画します。create_And_Show_Gui() メソッドは、GUI を作成し、最終出力が出力される表示フレームを設定するために使用されます。

著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - Java JavaFX