java font字体有哪些_java字体有哪些

java字体有:1、Serif是有衬线;2、【Sans-serif】是无衬线;3、Monospaced是等宽;4、Dialog是对话框;5、DialogInput是对话框输入。

074e3db423fa28f32e0389886091dc45.png

Java 使用逻辑字体映射到运行平台上对应的物理字体这种方法来处理字体的显示。

Java 定义了五种逻辑字体:Serif(有衬线) 、Sans-serif(无衬线) 、Monospaced(等宽) 、Dialog(对话框)、DialogInput(对话框输入)。每种字体对应有四种字体风格:plain(扁平)、bold(粗体)、 italic(斜体)、bolditalic(粗斜)。

我们可以选择逻辑字体、大小和颜色,但不能选择具体的物理字体,对应的物理字体需要在 JRE 的字体配置文件里设置。

影响图形字体的主要因素有:当前语言代码页、数据库字符集、安装的字体和字体配置文件

1、语言代码页

语言代码页为当前所用的语言环境,在 Linux 和 UNIX 环境下用 .profile 文件配置,在 Windows 下要查看活动代码页设置,请键入:chcp,出现类似于下面内容的消息:Active code page: 437,要将活动代码页更改为 850(多语言),请键入:chcp 850,如果指定的代码页无效,则会显示以下错误消息:Invalid code page。

2、数据库字符集

用具体命令可以查看当前数据库实例所用的字符集,还可以设置字符集。(注意:在 Windows 命令行下设置后要退出重新运行另一个命令行会话才生效)。

3、已安装的字体

在 Windows 平台下可以在“控制面板-> 字体”里查看安装的字体。另外,JRE 也自带了几种字体在 %JAVAHOME%/lib/fonts。

注:%JAVAHOME% 指 Java 安装的根目录。

4、字体配置文件

Java可以JRE中对字体进行配置,在JRE的不同版本下字体配置文件是不太一样的,可以用 %JAVAHOME%/bin/java -version 命令查看安装的具体 JRE 版本。可以在sun官方的网站上具体查阅配置方法:请先来到Java SE中,选Technologies标签,可以在总框架图中找到查找“Intl Support”窗口,进入后寻找“The Font Configuration Files”。相关免费学习推荐:java基础教程

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

余额充值