import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.geom.AffineTransform;
public class FontExample extends JPanel {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
// 设置字体
Font font = new Font("楷体", Font.BOLD, 100);
//定义一个变换并附加到字体上
AffineTransform affineTransform = new AffineTransform();
affineTransform.scale(2,1);//宽度为长度的2倍
Font largerFont = font.deriveFont(affineTransform);
g2d.setFont(largerFont);
g2d.drawString("楷体", 100, 150);
}
public static void main(String[] args) {
JFrame frame = new JFrame("Font Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(new FontExample());
frame.setSize(700, 200);
frame.setVisible(true);
}
}
设置字体的宽高,也就是对字体附加一个变换AffineTransform。