Java图形与文本(2)|文本操作和笔画

这里所说的文本操作不是JLabel直接将文本通过标签放到窗口上,而是跟绘制图形一样重写JComponent类的paint()方法,用类似画图的方式将文字“画”在容器组件中,在paint()方法中调用Graphics类的drawString()方法即可将文本以字符串的形式绘制在容器组件上了,drawString()方法的定义如下
public abstract void drawString(String str,int x,int y);//str是绘制的文本内容,x、y是绘制点的坐标
对应文本绘制的操作,还有一个跟文本操作形影相随的方法,就是设置字体和大小

public abstract void setFont(Font font); //Font是字体对象,其创建方法即可设置字体和大小
public Font(String name,int style,int size);//Font的构造方法,其中name是字体的名称,style是字体的样式,size是字体的大小

设置文本和图形的颜色

public abstract void setColor(Color color);//color是文本或图形设置的颜色对象
public Color(int r,int g,int b);//Color 的构造方法,其中rgb是其对应的RGB值
//Color中有一些静态常量,所以除了创建对象外还可直接用Color.red等常量来设置颜色

在Java绘制图形时,设置笔画的粗细和样式也是一个比较重要的操作。设置笔画的操作主要是通过重写JComponent类的paint()方法,并在该方法中使用Graphics2D类的setStroke()方法和使用BasicStroke类创建笔画对象来实现的。
使用Graphics2D类的setStroke()方法(在调用此方法时,要将paint的参数g强制转化成Graphics2D类),并将BasicStroke类创建的笔画对象作为setStroke()方法的参数,实现改变笔画粗细的操作,setStroke()方法的定义如下:

public abstract void setStroke(Stroke stroke);//stroke为图形设置的笔画对象
public BasicStroke(float width); //width是笔画的宽度
public BasicStroke(float width,int cap,int join);//该方法可用于在创建笔画对象的同时指定笔画样式
//参数cap是笔画的样式,join是笔画的连接方式
//cap可以使用BasicStroke类的字段进行设置,笔画样式主要包括平头样式BasicStroke.CAP_BUTT、圆头样式BasicStroke.CAP_ROUND和方头样式BasicStroke.CAP_SQUARE
//连接方式是指笔画在连接处的连接方式,即在绘制图形时如绘制矩形时会出现斜角矩形、圆角矩形、尖角矩形
//join可以使用BasicStroke类的字段进行设置,笔画连接方式主要包括斜角连接BasicStroke.JOIN_BEVEL,尖角连接BasicStroke.JOIN_MITER和圆角连接BasicStroke.JOIN_ROUND
public BasicStroke(float width,int cap,int join,float miterlimit,float[] dash,float dash_phase);//设置虚线模式
//参数miterlimit是斜接处的剪裁限制,该值必须大于或等于1.0f
//参数dash表示虚线模式的数组
//参数dash_phase是开始虚线模式的偏移量
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值