太い線を描く

Graphics2D を使って、太い線を描きます。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして LineStroke.java の名前で保存して下さい。
    //★ Graphics2D で太い線を描く    前田 稔
    import java.awt.*;
    import javax.swing.*;
    
    class LineStroke extends JFrame
    {
        // Main
        public static void main(String args[])
        {   new LineStroke();
        }
    
        // Constructor
        public LineStroke()
        {   super("Swing LineStroke");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(300, 200);
            setVisible(true);
        }
    
        // Paint Method
        public void paint(Graphics g)
        {
            Graphics2D g2 = (Graphics2D)g;
            super.paint(g2);
            BasicStroke BStroke = new BasicStroke(6.0f);
            g2.setStroke(BStroke);
            g2.setColor(Color.red);
            g2.drawLine(50, 80, 200, 100);
            BasicStroke BStroke2 = new BasicStroke(3.0f);
            g2.setStroke(BStroke2);
            g2.setColor(Color.blue);
            g2.drawLine(50, 50, 200, 160);
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    コンパイルの詳細は Java2 を動かす または Jcpad の設定を参照して下さい。
    赤と青の太い線が描画されたら完成です。

プログラムの説明

  1. class LineStroke は JFrame Class を継承しています。
    main() から new LineStroke() で LineStroke Class を生成します。
        import java.awt.*;
        import javax.swing.*;
    
        class LineStroke extends JFrame
        {
            // Main
            public static void main(String args[])
            {   new LineStroke();
            }
        
  2. LineStroke のコンストラクタです。
    super() で継承したクラスのコンストラクタを呼び出します。
    setDefaultCloseOperation() でウィンドウを閉じる処理を設定します。
    ウインドウのサイズを設定して、setVisible() で表示します。
        // Constructor
        public LineStroke()
        {   super("Swing LineStroke");
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setSize(300, 200);
            setVisible(true);
        }
        
  3. paint() は描画処理で呼び出されるメソッドです。
    線の幅(太さ)を設定するには Graphics2D Class を使います。
    new BasicStroke(6.0f); の 6.0f が線の幅で、g2.setStroke(BStroke) で設定します。
    Graphics2D は Graphics を継承しているので、Graphics のメソッドをそのまま使うことが出来ます。
    g2.setColor() で色を設定して、g2.drawLine() で線を描きます。
        public void paint(Graphics g)
        {
            Graphics2D g2 = (Graphics2D)g;
            super.paint(g2);
            BasicStroke BStroke = new BasicStroke(6.0f);
            g2.setStroke(BStroke);
            g2.setColor(Color.red);
            g2.drawLine(50, 80, 200, 100);
            BasicStroke BStroke2 = new BasicStroke(3.0f);
            g2.setStroke(BStroke2);
            g2.setColor(Color.blue);
            g2.drawLine(50, 50, 200, 160);
        }
        

超初心者のプログラム入門(Java2)