Java Swing プログラミング サンプル ベジェ曲線の描

ベジェ曲線を描画するJavaSwingのサンプルです。太線や破線での描画などのサンプルを掲載しています。

Home > サンプル集 > Swingサンプル集 > ベジェ曲線の描画-Swing版-


ベジェ曲線の描画-Swing版-

このページには、以下のサンプルを掲載しています。 下の項目をクリックをすると各サンプルにジャンプします。 ※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
  1. ベジェ曲線の描画 - Swing版 - ( LineSample01.java )  
  2. 太いベジェ曲線の描画 - Swing版 - ( LineSample02.java )  
  3. 破線のベジェ曲線の描画 - Swing版 - ( LineSample03.java )  

1. ベジェ曲線の描画

[ サンプルプログラムのソースコード - BezierCurveSample01.java - ]
  1. import javax.swing.JFrame;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.geom.GeneralPath;
  6. public class BezierCurveSample01 extends JFrame {
  7.   private static final long serialVersionUID = 1L;
  8.   public BezierCurveSample01() {
  9.     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10.   }
  11.   public void paint(Graphics g){
  12.     super.paint(g);
  13.     Graphics2D g2 = (Graphics2D)this.getGraphics();
  14.     g2.setPaint(Color.BLUE);
  15.     GeneralPath p = new GeneralPath();
  16.     p.moveTo(80, 40);
  17.     p.curveTo(55, 60, 55, 85, 80, 90);
  18.     p.curveTo(115, 95, 115, 95, 80, 140);
  19.     g2.draw(p);
  20.   }
  21.   public static void main(String[] args) {
  22.     JFrame f = new BezierCurveSample01();
  23.     f.setTitle("Swingサンプル(ベジェ曲線の描画)");
  24.     f.setSize(200,200);
  25.     f.setBackground(Color.WHITE);
  26.     f.setVisible(true);
  27.   }
  28. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
ベジェ曲線の描画のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形 / 角の丸い四角形 / / 楕円 / 直線 / 連続直線 / 多角形 / ベジェ曲線を含む図形 / 円弧 / 楕円弧 / 弓形 / 扇形


2. ベジェ曲線の描画(太線)

[ サンプルプログラムのソースコード - BezierCurve02.java - ]
  1. import javax.swing.JFrame;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.geom.GeneralPath;
  7. public class BezierCurveSample02 extends JFrame {
  8.   private static final long serialVersionUID = 1L;
  9.   public BezierCurveSample02() {
  10.     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11.   }
  12.   public void paint(Graphics g){
  13.     super.paint(g);
  14.     Graphics2D g2 = (Graphics2D)this.getGraphics();
  15.     g2.setPaint(Color.BLUE);
  16.     g2.setStroke(new BasicStroke(5.0f));
  17.     GeneralPath p = new GeneralPath();
  18.     p.moveTo(80, 40);
  19.     p.curveTo(55, 60, 55, 85, 80, 90);
  20.     p.curveTo(115, 95, 115, 95, 80, 140);
  21.     g2.draw(p);
  22.   }
  23.   public static void main(String[] args) {
  24.     JFrame f = new BezierCurveSample02();
  25.     f.setTitle("Swingサンプル(ベジェ曲線の描画)");
  26.     f.setSize(200,200);
  27.     f.setBackground(Color.WHITE);
  28.     f.setVisible(true);
  29.   }
  30. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
ベジェ曲線の描画(太線)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(太線) / 角の丸い四角形(太線) / 円(太線) / 楕円(太線) / 直線(太線) / 連続直線(太線) / 多角形(太線) / ベジェ曲線を含む図形(太線) / 円弧(太線) / 楕円弧(太線) / 弓形(太線) / 扇形(太線)


3. ベジェ曲線の描画(破線)

[ サンプルプログラムのソースコード - BezierCurve03.java - ]
  1. import javax.swing.JFrame;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.geom.GeneralPath;
  7. public class BezierCurveSample03 extends JFrame {
  8.   private static final long serialVersionUID = 1L;
  9.   public BezierCurveSample03() {
  10.     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  11.   }
  12.   public void paint(Graphics g){
  13.     super.paint(g);
  14.     Graphics2D g2 = (Graphics2D)this.getGraphics();
  15.     g2.setPaint(Color.BLUE);
  16.     float[] dash = { 20.0f, 5.0f,3.0f,5.0f };
  17.     g2.setStroke(new BasicStroke(
  18.           2.0f,
  19.           BasicStroke.JOIN_ROUND,
  20.           BasicStroke.CAP_BUTT,
  21.           1.0f,
  22.           dash,
  23.           0.0f));
  24.     GeneralPath p = new GeneralPath();
  25.     p.moveTo(80, 40);
  26.     p.curveTo(55, 60, 55, 85, 80, 90);
  27.     p.curveTo(115, 95, 115, 95, 80, 140);
  28.     g2.draw(p);
  29.   }
  30.   public static void main(String[] args) {
  31.     JFrame f = new BezierCurveSample03();
  32.     f.setTitle("Swingサンプル(ベジェ曲線の描画)");
  33.     f.setSize(200,200);
  34.     f.setBackground(Color.WHITE);
  35.     f.setVisible(true);
  36.   }
  37. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
ベジェ曲線の描画(破線)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(破線) / 角の丸い四角形(破線) / 円(破線) / 楕円(破線) / 直線(破線) / 連続直線(破線) / 多角形(破線) / ベジェ曲線を含む図形(破線) / 円弧(破線) / 楕円弧(破線) / 弓形(破線) / 扇形(破線)




最終更新日:2019/02/13

2015-03-01からの訪問者数
  968 人