Java中----Font类简介

一、Font类简介

Font类是用于设置图形用户界面上的字体样式的,包括字体类型(例如宋体、仿宋、Times New Roman等)、字体风格(例如斜体字、加粗等)、以及字号大小。

二、Font类的引用声明

Font类位于java.awt包中,使用时需要在代码顶端声明import java.awt.Font;或者import java.awt.*;

三、Font类的构造函数

Font类的构造函数如下:

public Font(String familyName,int style,int size)

具体解释如下:

(1)familyName是字体类型,例如宋体、仿宋、Times New Roman等;

(2)style是字体风格,例如斜体字、加粗等;

官方提供4种固定值,如下:

  • Font.PLAIN(普通)
  • Font.BOLD(加粗)
  • Font.ITALIC(斜体)
  • Font.BOLD+ Font.ITALIC(粗斜体)

 

(3)size是字体大小,其默认单位为pt(磅),数字越大、字就越大(例如12pt字比10pt的字要大)。

四、Font类的实例化方法

利用上面第三点介绍的构造函数,我们可以创建一个自定义样式的字体变量f。

例如:Font f = new Font("宋体",Font.BOLD,20);

上述代码表示我声明了一种自定义字体:宋体、加粗、20pt大小。

五、Font类的设置方法

当设置好了字体样式后,可以使用public void setFont(Font font)方法将指定组件的字体样式更新。

该方法适用于任意组件,例如按钮JButton、标签JLabel、多行文本框JTextArea等。

完整代码示例如下:

(1)我有一个多行文本框,给它起名字叫做ta:

JTextArea ta = new JTextArea();

(2)然后我设置一种新的字体样式f1:

Font f1= new Font("宋体",Font.BOLD,20);

(3)我为ta文本框设置字体样式为f1:

ta.setFont(f1);

(4)大功告成!

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、付费专栏及课程。

余额充值