Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJPanelのpaintComponent()メソッドを実装するにはどうすればよいですか?


JPanel は軽量のコンテナであり、見えない コンポーネント Javaで。 JPanelのデフォルトのレイアウトはFlowLayout 。 JPanelを作成したら、他のコンポーネントを JPanelに追加できます。 add()を呼び出してオブジェクトを作成します コンテナから継承されたメソッド クラス。

paintComponent()

このメソッドは、 JPanelで何かを描画するために必要です 背景色を描く以外。このメソッドは、 JPanelにすでに存在します スーパーを使用する必要があるようにクラス このメソッドに何かを追加し、グラフィックスを取る宣言 オブジェクト パラメータとして。 スーパーpaintComponent() これは通常のpaintComponent()を表します JPanelの方法 パネルの背景のみを処理できるものは、最初の行で呼び出す必要があります。

構文

protected void paintComponent(Graphics g)

import java.awt.*;
import javax.swing.*;
public class SmileyApp extends JPanel {
   @Override
   public void paintComponent(Graphics g) {
      super.paintComponent(g);
      g.setColor(Color.YELLOW);
      g.fillOval(10, 10, 200, 200);
      // draw Eyes
      g.setColor(Color.BLACK);
      g.fillOval(55, 65, 30, 30);
      g.fillOval(135, 65, 30, 30);
      // draw Mouth
      g.fillOval(50, 110, 120, 60);
      // adding smile
      g.setColor(Color.YELLOW);
      g.fillRect(50, 110, 120, 30);
      g.fillOval(50, 120, 120, 40);
   }
   public static void main(String[] args) {
      SmileyApp smiley = new SmileyApp();
      JFrame app = new JFrame("Smiley App");
      app.add(smiley, BorderLayout.CENTER);
      app.setSize(300, 300);
      app.setLocationRelativeTo(null);
      app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      app.setVisible(true);
   }
}
出力

JavaでJPanelのpaintComponent()メソッドを実装するにはどうすればよいですか?


  1. JavaでBorderFactoryを使用してさまざまな境界線を実装するにはどうすればよいですか?

    BorderFactory ファクトリです Javaでさまざまなタイプの境界線を提供するクラス。 境界線の種類 BevelBorder :この境界線は隆起を描画します または下げた 斜角のエッジ。 EmptyBorder :描画は行いませんが、スペースを取ります。 EtchedBorder :下がったエッチングボーダー 長方形と隆起したエッチングされた境界線の外観を与えます 画面の表面のように見えます。 LineBorder :コンポーネントの周りに単純な長方形を描画します。 LineBorderで線の色と幅を指定できます コンストラクター。 Matte

  2. JavaでJToggleButtonを実装するにはどうすればよいですか?

    JToggleButton JToggleButton AbstractButtonの拡張です また、オンに切り替えることができるボタンを表すために使用できます。 およびオフ 。 JToggleButtonの場合 を初めて押すと、押したままになり、2回押すと離すことができます。 JToggleButton ActionEventを生成します 押すたびに。 JToggleButton ItemEventを生成することもできます 、このイベントは、選択の概念をサポートするコンポーネントによって使用されます。 JToggleButtonの場合 を押すと選択されます。