Java Applet BasicStroke类

Stroke接口是java提供给程序员用来设置线条描绘的特性的,这些特性包括:线条宽度等应用在线条上的相关属性。

BasicStroke是目前唯一一个实现了Stroke接口的类。简单来说,BasicStroke类允许定义线条的属性有:宽度,端头,联结方式,虚线模式等。

具体设置的值可以参考API,这里仅给出一些参考:

端头,即描述画笔末尾部分的属性,可以设置为: BasicStroke.CAP_BUTT,BasicStroke.CAP_ROUND,BasicStroke.CAP_SQUARE。它们分别表示没有修饰,笔画结束处用以画笔宽度的一半为半径的圆修饰以及笔画结束处用方形向外延伸笔画宽度的一半的长度。

联接方式可以设置为:BasicStroke.JOIN_BEVEL,BasicStroke.JOIN_MITER,BasicStroke.JOIN_ROUND。它们分别表示两线相交时用直线段连接,延伸线条外部直至它们相交以及在交点处以圆连接。

虚线模式可使用一个浮点数组来定义,比如:

float[] dashPattern = {3.0f, 10.0f, 6.0f, 2.0f};

以上代码表示线内的第一段长为3.0像素,第一个间隔为10.0像素,第二段长为6.0像素,第二个间隔为2.0像素……这个模式会用同样的规则重复处理第三个部分及其间隔,然后周期循环下去。

下面给出一个示例程序:

import java.applet.Applet;
import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.Line2D;
import java.awt.geom.Rectangle2D;


public class StrokeTest extends Applet{
	public void paint(Graphics g)
	{
		Graphics2D g2d = (Graphics2D) g;
		float penWidth = 3.0f;
		
		int endCaps = BasicStroke.CAP_BUTT;
		//int endCaps = BasicStroke.CAP_ROUND;
		//int endCaps = BasicStroke.CAP_SQUARE;
		
		//int lineJoins = BasicStroke.JOIN_BEVEL;
		int lineJoins = BasicStroke.JOIN_ROUND;
		//int lineJoins = BasicStroke.JOIN_MITER;
		
		float trim = 1.0f;
		
		float[] dashPattern = {5.0f, 9.0f, 3.0f};
		float dashOffset = 0.0f;
		
		BasicStroke stroke = new BasicStroke(penWidth, endCaps, lineJoins,
				trim, dashPattern, dashOffset);
		g2d.setStroke(stroke);
		g2d.draw(new Line2D.Float(10.0f, 10.0f, 140.0f, 10.0f));
		g2d.draw(new Line2D.Float(60.0f, 5.0f, 80.0f, 100.0f));
		g2d.draw(new Rectangle2D.Float(20.0f, 60.0f, 100.0f, 50.0f));
	}
}

几个属性被注释起来了,可以选择不同的选项进行测试和分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值