AboutデジタルIT・インターネットJavaプログラミングJavaプログラミング関連情報グラフィックの基本をマスターしようJavaプログラミング/Javaプログラミング関連情報グラフィックの基本をマスターしようSwingでさまざまなグラフィックを描画するには、Graphicsクラスの使い方を覚える必要があります。津耶乃グラフィック描画の仕組みは?ここまでは、用意されているコンポーネントを組み合わせてGUIを作るということを中心に説明してきましたが、プログラムの表示というのはボタンやフィールドといったものだけで構成されているわけではありません。重要な要素が抜けています。それは「グラフィック」です。線を引いたり色を塗ったり、イメージを表示したり。したグラフィックの描画によって、ウインドウの表示は更にわかりやすく、きれいにクールに変わっていきます。Swingのコンポーネントでグラフィックを描画するには、どうすればよいのでしょうか。Swingコンポーネントには、あらかじめコンポーネントの描画に関する機能が組み込まれています。Swingコンポーネントは、画面の表示や表示の更新などの要求があると、以下のような手順でメソッドを呼び出し、コンポーネントを再描画していきます。1.repaintの呼び出し一番最初に呼び出されるのは、repaintメソッドです。これは、可能な限り速やかにupdateメソッドを呼び出します。2.updateによるコンポーネントの更新updateでは、コンポーネントのGUI部分の描画などが行われます。これはAWTのコンポーネントで行われていたもので、Swingコンポーネントでは後述する別メソッドで描画されるケースが多いでしょう。3.paintによるコンポーネントへの描画コンポーネントへの独自の描画を行います。AWTでは、このメソッドをオーバーライドして独自の描画処理を組み込みます。Swingコンポーネントの場合、ここから更に細分化してメソッドが呼び出されます。4.paintComponentによるコンポーネント描画ここでSwingコンポーネントの描画を行います。独自の描画を行う場合には、これをオーバーライドするのが一般的です。5.paintBorderによるボーダーの描画Swingコンポーネントに用意されているボーダー(コンポーネントの周囲の描画)を描画します。これにより、コンポーネントの表示が完成します。6.paintChildrenによる組み込みコンポーネントの描画コンポーネントの内部に組み込まれているコンポーネントに対し、表示の更新を呼び出します。paintChildrenが呼び出されている」という点です。どのメソッドをオーバーライドするにせよ、「そこで処理を止めてはならない」ということをよく考えなければいけません。Swingコンポーネントの描画処理の流れ。paint内から更にいくつものメソッドが呼び出されている。About公式SNS日々の生活や仕事を楽しむための情報を毎日お届けします。