java中font的意思_java中的Font

Font 类 位于 java.awt 中

字体由三种属性决定:

1) 字体名(family name)

字体名可以分成两大类:

中文字体:宋体、楷体、黑体等;

英文字体:Arial、Times New Roman等等;

小知识:

对于英文字体中有两个术语:“等宽字体”与“变宽字体”,等宽字体是指每一英文字母的宽度一样大;而变宽字体则不然, m与l所占的宽度就不同。

2) 大小(size)

与字体名一样,大小也有两种衡量方式:

一种是磅值(这是一种印刷界的通用单位),如11磅、12磅,它们的值越大,字越大。不过在

Java中只

支持后者,也就是磅值(point);

另一种是五号、六号,号数越小字越大.

3) 风格(style)

Java中有四种

字体风格,由

Font类的静态值来定义。

¨

Font.

PLAIN(普通)

¨

Font.

BOLD(加粗)

¨

Font.

ITALIC(斜体)

¨

Font.

BOLD+

Font.

ITALIC(粗斜体)

也就是说,在

Java语言中并不支持下划线这种风格。

Font的 类构造器构造一个字体对象:

public

Font(String familyName,int style,int size)

然后,调用对象的setFont方法来设置字体:

public void setFont(

Font

font)

用 java 获得 字体列表

java.awt.GraphicsEnvironment eq =

java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();

String[] fontNames = eq.getAvailableFontFamilyNames();

for(int i=0;i

System.out.println(fontNames[i]);

}

如果是老版本的jdk可以用下面的方法:

String[] llist = java.awt.Toolkit.getDefaultToolkit().getFontList();

for(int i=0;i

System.out.println(llist[i]);

}

输出结果的一部分:

华文中宋

华文仿宋

华文彩云

华文新魏

华文细黑

华文行楷

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.font.*; public class Clipping extends Canvas { public Clipping() { setBackground(Color.white); } public void paint(Graphics g) { Graphics2D g2; g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); int w = getSize().width; int h = getSize().height; FontRenderContext frc = g2.getFontRenderContext(); Font f = new Font("Helvetica",Font.BOLD,w/8); String s = new String("By"); TextLayout tl = new TextLayout(s, f, frc); float sw = (float) tl.getBounds().getWidth(); AffineTransform transform = new AffineTransform(); transform.setToTranslation(w/2-sw/2,h/2); Shape shape = tl.getOutline(transform); g2.setClip(shape); g2.setColor(Color.blue); g2.fill(shape.getBounds()); g2.setColor(Color.yellow); for (int j = shape.getBounds().y; j < shape.getBounds().y + shape.getBounds().height; j=j+3) { Line2D line = new Line2D.Float( 0.0f, (float) j, (float) w, (float) j); g2.draw(line); } } public static void main(String s[]) { WindowListener l = new WindowAdapter() { public void windowClosing(WindowEvent e) {System.exit(0);} public void windowClosed(WindowEvent e) {System.exit(0);} }; Frame f = new Frame("2D Text"); f.addWindowListener(l); f.add("Center", new Clipping()); f.pack(); f.setSize(new Dimension(400, 300)); f.show(); } } *********************************************

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值