HOWTO · Java

Java で四角形を塗りつぶす

このチュートリアルでは、Java で四角形を塗りつぶす方法について説明します。

このページの内容

Java を使用してグラフィックスを操作している場合は、プログラムで四角形を描画する必要がある場合があります。 この記事では、Java で四角形を描画し、それを色で塗りつぶす方法を示します。

fillRect() および paint() メソッドを使用して Java アプレットで四角形を塗りつぶす

以下の例では、Java アプレット を使用して長方形を描画して塗りつぶします。

コード例

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class DrawRect extends Applet {
  public static void main(String[] args) {
    Frame DrawRectangle = new Frame("Draw Rectangle with solid color");
    DrawRectangle.setSize(380, 300);
    Applet DrawRect = new DrawRect();
    DrawRectangle.add(DrawRect);
    DrawRectangle.setVisible(true);
    DrawRectangle.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        System.exit(0);
      }
    });
  }
  public void paint(Graphics Grph) {
    Grph.fillRect(120, 50, 120, 100);
  }
}

上記の例では、フレームを作成し、そのサイズを設定しました。 その後、Applet DrawRect = new DrawRect(); を使用して長方形を描画します。 そしてそれをフレームに追加します。

次に、フレームを表示します。 ここでは、paint() メソッドを使用して四角形に色を付けています。

出力:

Java アプレットで四角形を塗りつぶす

Java Swing で fillRect() および paint() メソッドを使用して四角形を塗りつぶす

以下の例では、Java Swing を使用して長方形を描画して塗りつぶします。

コード例:

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

public class SwingRect extends Canvas {
  public void paint(Graphics Grph) {
    setBackground(Color.WHITE);
    Grph.fillRect(120, 40, 100, 70);
    setForeground(Color.RED);
  }
  public static void main(String[] args) {
    SwingRect rect = new SwingRect();
    JFrame frm = new JFrame();
    frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frm.add(rect);
    frm.setSize(350, 350);
    frm.setVisible(true);
  }
}

上記の例では、SwingRect rect = new SwingRect(); という行を使用して長方形オブジェクトを作成します。

出力:

Java Swing で四角形を塗りつぶす

setFill() メソッドを使用して JavaFX で四角形を塗りつぶす

以下の例では、JavaFX を使用して長方形を描画して塗りつぶします。

コード例:

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

public class JavaFxRect extends Application {
  public static void main(String[] args) {
    Application.launch(args);
  }

  @Override
  public void start(Stage MyStage) {
    Group MyGroup = new Group();
    Rectangle MyRect = new Rectangle(20, 20, 200, 200);
    MyRect.setFill(Color.RED);
    MyRect.setStroke(Color.BLACK);
    MyGroup.getChildren().add(MyRect);
    Scene MyScene = new Scene(MyGroup, 300, 200);
    MyStage.setScene(MyScene);
    MyStage.show();
  }
}

上記の例では、グループ オブジェクトを作成してから、Rectangle MyRect = new Rectangle(20, 20, 200, 200); という行を使用して長方形オブジェクトを作成しました。 次に、行 MyRect.setFill(Color.RED); を使用して、長方形オブジェクトを赤色で塗りつぶしました。

また、MyRect.setStroke(Color.BLACK); という行で長方形にストロークを設定します。 その後、長方形をグループに追加します。 シーンを作成してステージに組み込み、ステージを見えるようにしました。

出力:

JavaFX で四角形を塗りつぶす