【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)大功告成!

 

转载于:https://www.cnblogs.com/zwjbb1021/p/7844539.html

  • 18
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 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(); } } *********************************************
Java 中,可以使用 Font 的 deriveFont() 方法来设置字体间距,具体方式如下: ```java Font font = new Font("Arial", Font.PLAIN, 24); float letterSpacing = 0.2f; // 设置字体间距为 0.2f Font spacedFont = font.deriveFont(Map.of(TextAttribute.TRACKING, letterSpacing)); ``` 在上面的示例中,我们首先创建了一个普通的字体对象 font,并设置了字体名称、字体样式和字体大小。然后,我们使用 Font 的 deriveFont() 方法,传入一个 Map 对象,来设置字体间距。其中,Map 的 key 值为 TextAttribute.TRACKING,value 值为字体间距大小(以浮点数表示)。返回值 spacedFont 就是间距为 0.2f 的字体对象。 另外,如果你想要设置更加细致的字体间距,可以使用 Font 的 deriveFont() 方法,传入一个 TextAttribute.TRACKING 对象,来设置字体间距。具体方式如下: ```java Font font = new Font("Arial", Font.PLAIN, 24); float letterSpacing = 0.2f; // 设置字体间距为 0.2f Map<TextAttribute, Object> attributes = new HashMap<>(); attributes.put(TextAttribute.TRACKING, letterSpacing); Font spacedFont = font.deriveFont(attributes); ``` 在上面的示例中,我们创建了一个空的 Map 对象 attributes,并将 TextAttribute.TRACKING 和字体间距大小放入其中。然后,我们使用 Font 的 deriveFont() 方法,传入 attributes 对象,来设置字体间距。返回值 spacedFont 就是间距为 0.2f 的字体对象。 通过设置字体间距,可以让文本更加美观和易读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值