Java で色を設定する

Rashmi Patidar 2023年10月12日
Java で色を設定する

グラフィックスは、統計がよりよく理解するのに役立つグラフ、画像、形状の画像表現です。Java プログラミングにより、ユーザーは必要に応じて Graphics インスタンスを描画できます。Graphics は、目的のデバイス上にコンポーネントを描画するためのさまざまな抽象関数を持つ抽象クラスです。

以下は、グラフィックスがどのように機能するかを示すコードブロックです。

import java.applet.Applet;
import java.awt.*;
import javax.swing.*;

public class ColorsAndFrames {
  public static void main(String[] args) {
    ShowGraphics graphics = new ShowGraphics();
    JFrame frame = new JFrame();
    frame.setVisible(true);
    frame.setSize(400, 400);
    frame.add(graphics);
  }

  static class ShowGraphics extends Applet {
    public void paint(Graphics g) {
      g.setColor(Color.GREEN);
      g.drawOval(30, 130, 50, 60);
      Color myColor = new Color(255, 200, 113);
      g.setColor(myColor);
      g.fillRect(40, 60, 30, 60);
    }
  }
}

上記のコードブロックでは、パブリッククラスはドライバーコードと静的クラスを保持して形状を描画します。ShowGraphics クラスは、Applet クラスを拡張するユーザー定義クラスです。アプレットはそれ自体では実行されませんが、他のアプリケーションのサポートプログラムとして実行されます。通常、Web ページと一緒に HTML コードで使用するように定義されています。

java.awt.Component オブジェクトからのメソッド paint があります。このメソッドはアプレットをペイントし、パラメータとして Graphics インスタンスを取ります。オブジェクトは、円、長方形、楕円などの画像を描画し、軸上で操作を行うための基本情報を保持します。Graphics インスタンスは、さまざまな関数を呼び出すために使用されます。

一方、setColor 関数は、グラフィックコンテキストの色を目的の色に設定します。カスタムのユーザー定義の色にすることも、Color クラスから取得することもできます。カスタムカラーは、Color クラスのコンストラクターで RGB 値を指定することで定義できます。パラメータは赤、緑、青の順で、値の範囲は 0〜255 です。drawOval() 関数は、楕円形を描画するメソッドです。x、y、width、height の 4つのパラメーターを取ります。

メインクラスであるドライバコードは、アプレット拡張クラスのインスタンスを作成しました。JFrame クラスは、最初は見えない Java Swing コンポーネントを保持するためにインスタンス化されます。したがって、ウィンドウは、setVisible メソッドを使用して明示的に表示できます。このメソッドはブールパラメータを取り、値を返しません。

ウィンドウが表示され始めると、そのサイズは setSize 関数を使用して定義されます。指定されたパラメーターは、ピクセル単位の値を取ります。ShowGraphics クラスのインスタンスが add 関数に渡されます。このメソッドは、指定されたグラフをコンテナーに追加します。コンポーネントのパスが null の場合、NullPointerException をスローします。

Java プログラム以外では、アプレットクラスは HTML コードから直接呼び出すことができ、ブラウザのコンテナはアプレットクラスからの情報をレンダリングします。

以下は、上記のプログラムを実行したときに出力として形成される添付のアプレットイメージです。

2つの形状を保持するアプレットビューアフレーム

著者: Rashmi Patidar
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

関連記事 - Java Color