- Home ›
- Java2Dによる画像処理 ›
- 線属性 ›
- HERE
線の太さの設定
広告
線の太さの設定を行います。次のコンストラクタを使用します。
BasicStroke public BasicStroke(float width)
指定された線幅と、先端およびライン接合のスタイルのデフォルト値を使って、 実線で BasicStroke を構築します。 パラメータ: width - BasicStroke の幅 例外: IllegalArgumentException - width が負の値の場合
1番目の引数に線の太さを表すfloat型の値を指定します。このコンストラクタを使用する場合は線の太さ以外の項目はデフォルトの値が使用されます。
具体的には次のように記述します。
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
BasicStroke wideStroke = new BasicStroke(4.0f);
g2.setStroke(wideStroke);
g2.draw(new Line2D.Double(50, 50, 160, 180));
}
サンプルプログラム
簡単なサンプルを一度試してみます。
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.*;
import java.awt.BasicStroke;
public class StrokeTest1 extends JPanel{
public static void main(String[] args){
JFrame frame = new JFrame();
StrokeTest1 app = new StrokeTest1();
frame.getContentPane().add(app);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2.draw(new Line2D.Double(50, 30, 240, 120));
BasicStroke wideStroke = new BasicStroke(4.0f);
g2.setStroke(wideStroke);
g2.draw(new Line2D.Double(50, 50, 240, 140));
BasicStroke superwideStroke = new BasicStroke(10.0f);
g2.setStroke(superwideStroke);
g2.draw(new Rectangle2D.Double(70, 20, 150, 120));
}
}
上記をコンパイルした後で実行すると次のように表示されます。
( Written by Tatsuo Ikura )
JavaDrive